题解 | #记票统计#
记票统计
http://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
while(cin >> n){
vector<string> vec; //存放候选人姓名
for(int i = 0; i < n; i++){
string str;
cin >> str;
vec.push_back(str);
}
int N; //投票人数量
cin >> N;
map<string, int> m; //统计票数频率
for(int i = 0; i < N; i++){
string str;
cin >> str;
m[str]++;
}
int valid = 0; //合法的票数
for(int i = 0; i < vec.size(); i++){
if(m.find(vec[i]) != m.end()){ //候选人有票
cout << vec[i] << ' ' << ':' << ' ' << m[vec[i]] << endl;
valid += m[vec[i]];
}
else{
cout << vec[i] << ' ' << ':' << ' ' << 0 << endl;
}
}
int invalid = N - valid; //不合法的票数
cout << "Invalid : " << invalid << endl;
}
}