贪婪的送礼者Greedy Gift Givers
最后输出就可以了
#include <bits/stdc++.h>
const int maxn=100+10;
using namespace std;
int n,x,h;
char s[maxn],t[maxn];
struct node{
char name[15];
int sum;
};
struct node q[maxn];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>q[i].name;
for(int i=1;i<=n;i++)
{
scanf("%s",s);
for(int j=1;j<=n;j++)
if(strcmp(s,q[j].name)==0){
x=j;
break;
}
int a,b;
cin>>a>>b;
if(b==0)continue;
int y=a/b;
int m=y*b;
q[x].sum-=m;
for(int k=1;k<=b;k++){
scanf("%s",s);
for(int g=1;g<=n;g++)
if(strcmp(s,q[g].name)==0){
h=g;
break;
}
q[h].sum+=y;
}
}
for(int i=1;i<=n;i++)
cout<<q[i].name<<' '<<q[i].sum<<endl;
return 0;
}