题解 | #记票统计#
记票统计
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")
需要注意的是输出顺序要和输入顺序相同,这就要求保存输入顺序。
其次需要注意哈希表的初始化书写格式。