记录编号 151316 评测结果 AAAAAAAAA
题目名称 贪婪的送礼者 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2015-03-04 14:29:36 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<string>
#include<cstdio>
using namespace std;
struct ren
{
	string name;
	int a;
	int b;
	string nname[22];
	int summ[22];
	int suum;
}ren[22];
int main()
{   freopen("gift1.in","r",stdin);
    freopen("gift1.out","w",stdout);
	int renshu,qq,ss[22];
	string nn[22];
	cin>>renshu;
	for(int i=1;i<=renshu;++i)
	  cin>>nn[i];
	for(int i=1;i<=renshu;++i)
	  {
	     cin>>ren[i].name;
	     cin>>ren[i].a;
	     cin>>ren[i].b;
	     if(ren[i].b!=0)
	     {
			for(int p=1;p<=ren[i].b;++p)
		   {
			 cin>>ren[i].nname[p];
			 ren[i].summ[p]=0;
		   }
		 }
	  }
	for(int i=1;i<=renshu;++i)
	 {  if(ren[i].b!=0)
		{qq=ren[i].a/ren[i].b;
		ss[i]=ren[i].a%ren[i].b;
		for(int f=1;f<=ren[i].b;++f)
		  ren[i].summ[f]+=qq;
		ren[i].suum=0;
		}
		if(ren[i].b==0)
		  {
			ss[i]=ren[i].a;
		    continue;
		  }
	 }
	 for(int p=1;p<=renshu;++p)
	   {ren[p].suum=ren[p].suum-ren[p].a+ss[p];;
	    for(int i=1;i<=renshu;++i)
	     for(int h=1;h<=ren[i].b;++h)
		   if(ren[p].name==ren[i].nname[h])
			 ren[p].suum+=ren[i].summ[h];
	   }
	 for(int i=1;i<=renshu;++i)
	   {
		cout<<nn[i]<<" ";
	    for(int k=1;k<=renshu;++k)
	     if(ren[k].name==nn[i])
             cout<<ren[k].suum<<endl;
	   }
	 //fclose(stdin);fclose(stdout);
	 //system("pause");
	 return 0;
}