本文主要是介绍1100 校庆 (25 分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分析
- 考查点
- 排序
- 注意
- 年龄最老,出生年月越小,所以从小到大排序
代码
- 2022.1.11
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <unordered_set>
using namespace std;
struct node{string s;int id;bool operator <(const node& a)const{if(id != a.id) return id > a.id;return s.substr(6, 8) < a.s.substr(6,8);}
};
int main() {int n, m;cin >> n; unordered_set<string> st;string s;for(int i = 0; i < n; i++) {cin >> s;st.insert(s);}cin >> m;int count = 0;vector<node> res;for(int i = 0; i < m; i++) {cin >> s;if(st.count(s)){count++;res.push_back({s, 1});}else{res.push_back({s, 0});}}sort(res.begin(), res.end());cout<<count<<endl;cout<<res[0].s<<endl;return 0;
}
#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
#include <queue>
#include <cstdio>
#include <cctype>
#include <unordered_map>
#include <map>
using namespace std;
const int N = 105;
typedef pair<int, string> PII;
int main() {//先统计出场的人 然后去哈希表中查出现的人unordered_map<string, bool> mp;string oldalumni="99999999", oldguest="99999999";string olda, oldg;int num = 0; int n;cin>>n;string str, tmp, t;for(int i = 0; i < n; i++){cin>>str;mp[str]= true; }int m;cin>>m;for(int i = 0; i < m; i++){cin>>str;t = str.substr(6, 8);if(mp[str]){if(t < oldalumni){oldalumni = t;olda = str;}num++;}if(t < oldguest){oldguest = t;oldg = str;}}cout<<num<<endl;if(num == 0) cout<<oldg<<endl;else cout<<olda<<endl;return 0;
}
这篇关于1100 校庆 (25 分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!