题目描述
请实现一个计票统计系统。你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数。
本题有多组样例输入。
不知道华为机试的难度是怎么区分的
#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; } }