比赛 咲 -Saki- 互测赛 评测结果 AAAAAAAAAA
题目名称 天才麻将少女什么编 最终得分 100
用户昵称 hello! 运行时间 0.753 s
代码语言 C++ 内存使用 22.20 MiB
提交时间 2012-07-19 10:58:16
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

string person[201],school[1000001],Monster[1000001],girl[1000001];
int n,k,num[1000001]={0},sum[1000001]={0};

int search(string a);
int search_school(string b);

int main()
{
	freopen("sakinani.in","r",stdin);
	freopen("sakinani.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		string temp1,temp2;
		cin>>temp1>>temp2;
		person[i]=temp1;
		school[i]=temp2;
	}
	/*for(int i=1;i<=n;i++)
	{
		cout<<person[i]<<' '<<school[i]<<endl;
	}*/
	cin>>k;
	for(int i=1;i<=k;i++)
	{
		cin>>Monster[i];
	}
	while(!cin.eof())
	{
		string name;
		cin>>name;
		bool flag;
		flag=false;
		for(int i=1;i<=k;i++)
			if(name==Monster[i])
				flag=true;
		int qwe;
		qwe=search(name);
		if(flag)
			num[qwe]+=2;
		if(!flag)
			num[qwe]++;
	}
	for(int i=1;i<=n;i++)
	{
		int qwe;
		qwe=search_school(school[i]);
		sum[qwe]+=num[i];
	}
	int maxi,max=0;
	for(int i=1;i<=n;i++)
	{
		if(sum[i]>max)
		{
			max=sum[i];
			maxi=i;
		}
	}
	cout<<school[maxi]<<endl;
	return 0;
}
int search(string a)
{
	for(int i=1;i<=n;i++)
	{
		if(a==person[i])
		{
			return i;
			break;
		}
	}
}
int search_school(string b)
{
	for(int i=1;i<=n;i++)
	{
		if(b==school[i])
		{
			return i;
			break;
		}
	}
}