UVa 10374

来源:互联网 发布:sql server 2005 sp2 编辑:程序博客网 时间:2024/06/06 09:16

题目:选举,数据列表1为候选人和党派,数据列表2为选举数据,判断获胜者的党派。

分析:模拟,字符串。直接利用map统计查询即可。

说明:又是好久没刷题了(⊙o⊙)…

#include <iostream>#include <cstdlib>#include <cstdio>#include <string> #include <map>using namespace std;int main(){int t, n, m;string name, party;scanf("%d\n",&t);while (t --) {map<string, int>    M_count;map<string, string> M_party;scanf("\n%d\n",&n);for (int i = 0; i < n; ++ i) {getline(cin, name);getline(cin, party);M_party[name] = party;M_count[name] = 1;}scanf("%d\n",&m);for (int i = 0; i < m; ++ i) {getline(cin, name);if (M_count[name]) {M_count[name] ++;}}int max = 0, count = 0;map <string, int>::iterator iter;for(iter = M_count.begin(); iter != M_count.end(); ++iter) {if (max < iter->second) {max = iter->second;count = 1;name = iter->first;}else if (max == iter->second) {count ++;}}if (count > 1) {cout << "tie" << endl;}else {cout << M_party[name] << endl;}if (t) {cout << endl;}}return 0;}


原创粉丝点击