比赛 咲 -Saki- 互测赛 评测结果 C
题目名称 天才麻将少女什么编 最终得分 0
用户昵称 11111111 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-07-19 11:17:39
显示代码纯文本
#include<cstdio>
#include<string>
#include<fstream>
#include<Algorithm>
using namespace std;
struct nani
{
	char s[201];
};
struct people
{
	string name;
	string school;
} p[200];
struct school
{
	string school;
	
}s[40];
struct mahoushoujo
{
	string name;
} m[200];
int main()
{
	freopen("sakinani.in","r",stdin);
	freopen("sakinani.out","w",stdout);
	ifstream fin("sakinani.in");
    ofstream fout("sakinani.out");
	
	int num1;
	fin>>num1;
	int i,j;
	for(i=0;i<num1;i++)
	{
		fin>>p[i].name>>p[i].school;
		
	}
	int num2;
	fin>>num2;
	for(i=0;i<num2;i++)
	{
		fin>>m[i].name;
	}
	bool exist=0;
	int nos=0;
	for(i=0;i<num1;i++)
	{
		for(j=0;j<nos+1;j++)
			if(p[i].school==s[j].school)
				exist=1;
		if(exist==0)
		{
			s[nos].school=p[i].school;
			nos++;
		}
		exist=0;
	}
	int score[201];
	for(i=0;i<num1;i++)
		score[i]=1;
	for(i=0;i<num1;i++)
	{
		for(j=0;j<num2;j++)
		{
			if(m[j].name==p[i].name)
				score[i]=2;
		}
		
	}
	int akarin[40]={0};
	nani name;
	scanf("\n");
	while ( scanf("%s\n",&name)==1 )
	{
		for(i=0;i<num1;i++)
		{
			if(name.s==p[i].name)
			{
				for(j=0;j<nos;j++)
				{
					if(s[j].school==p[i].school)
					{
						akarin[j]=akarin[j]+score[i];
					}
				}
			}
		}
	}
	int max=0,save;
	for(i=0;i<nos;i++)
	{
		if(akarin[i]>max)
		{
			max=akarin[i];
			save=i;
		}
	}		
	fout<<s[save].school<<endl;
	return 0;
}