题解 | #记票统计#
记票统计
https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894
#include <bits/stdc++.h>
using namespace std;
int main(){
int n = 0; //候选人的人数
cin >> n;
vector<string> name(n, ""); //候选人的名字
for(int i = 0; i < n; i++){
string tmp = "";
cin >> tmp;
name[i] = tmp;
}
int num = 0; //投票人的人数
cin >> num;
vector<string> touPiao(num, ""); //投票
for(int i = 0; i < num; i++){
string tmp = "";
cin >> tmp;
touPiao[i] = tmp;
}
unordered_map<string, int> m;
for(int i = 0; i < n; i++){
m[name[i]] = 0; //初始化
}
int invalid = 0;
for(int i = 0; i < touPiao.size(); i++){
bool isValid = false;
for(int j = 0; j < name.size(); j++){
if(touPiao[i] == name[j]){
m[name[j]]++;
isValid = true;
}
}
//投票的名字不存在n个候选人的名字中
if(!isValid){
invalid++;
}
}
//输出
for(int i = 0; i < n; i++){
cout << name[i] << " : " << m[name[i]] << endl;
}
cout << "Invalid" << " : " << invalid << endl;
return 0;
}
华为题库题解 文章被收录于专栏
牛客华为题库的题解