Posted on 2011-11-07 09:26
C小加 阅读(1306)
评论(0) 编辑 收藏 引用 所属分类:
解题报告
今年Ural比赛的一道题。用map模拟。求出判断正确的人的个数,最后乘以5得出结果。
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <map>
using namespace std;
map<string,string> m;
int main()
{
//freopen("1.in","r",stdin);
string str;
for(int i=1;i<=4;i++)
{
cin>>str;
m[str]="gold";
}
for(int i=1;i<=4;i++)
{
cin>>str;
m[str]="silver";
}
for(int i=1;i<=4;i++)
{
cin>>str;
m[str]="bronze";
}
int n,sum=0,qt=0;
cin>>n;
while(n--)
{
string s1,s2,s3;
int t;
cin>>t;
int cnt=0;
for(int i=0;i<t;i++)
{
cin>>s1>>s2>>s3;
if(m[s1]==s3) cnt++;
}
if(sum<cnt)
{
sum=cnt;
qt=1;
}
else if(sum==cnt)
{
qt++;
}
}
cout<<qt*5<<endl;
return 0;
}