题目描述
请实现一个计票统计系统。你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数。
本题有多组样例输入。
不知道华为机试的难度是怎么区分的
#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;
int main(){
int num_name,num_choice;
while(cin>>num_name){
vector<string> name;//保存有哪些名字(vector可以保留顺序)
unordered_map<string,bool> flag;//用来后面判断输入的名字是否合法
unordered_map<string,int> num;//统计每个人的得票
int wrong=0;
while(num_name--){
string s;
cin>>s;
name.push_back(s);
flag[s]=true;
}
cin>>num_choice;
while(num_choice--){
string s;
cin>>s;
if(flag[s]==true)
num[s]++;
else wrong++;
}
for(string i:name)
cout<<i<<" : "<<num[i]<<endl;
cout<<"Invalid : "<<wrong<<endl;
}
}
京公网安备 11010502036488号