题解 | #记票统计#
记票统计
https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
int main() {
int n,m, invalid=0;
cin >> n;
unordered_map<string,int> candi;
vector<string> inp;
for(int i=0; i<n; i++){
string tmp;
cin >> tmp;
candi[tmp] = 0;
inp.push_back(tmp);
}
cin >> m;
for(int i=0; i<m; i++){
string tmp;
cin >> tmp;
if(candi.find(tmp) != candi.end()){
candi[tmp] += 1;
}else{
invalid += 1;
}
}
for(int i=0; i<n; i++){
cout << inp[i] << " : " << candi[inp[i]] << endl;
}
cout << "Invalid : " << invalid << endl;
return 0;
}
// 64 位输出请用 printf("%lld")
需要注意的是输出顺序要和输入顺序相同,这就要求保存输入顺序。
其次需要注意哈希表的初始化书写格式。
查看23道真题和解析