18,512
社区成员
发帖
与我相关
我的任务
分享
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
typedef long long LL;
const long long INF = 0x3f3f3f3f;
const long long mod = 1e9+7;
const double PI = acos(-1.0);
const int dir4[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
const int dir8[8][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};
const int maxx = 100010;
using namespace std;
struct student
{
char name[20];
int coin;
};
int main()
{
student st[20];
int n,n1,re[20];
char nm[20];
cin>>n;
n1=n;
for(int i=0; i<n; i++)
{
cin>>st[i].name;
st[i].coin=0;
re[i]=0;
}
while(n1--)
{
cin>>nm;
int money,num,avg,sum;
for(int i=0; i<n; i++)
{
if(!strcmp(nm,st[i].name))
{
cin>>money>>num;
re[i]=money;
if(money==0&&num==0)
break;
avg=money/num;
sum=st[i].coin+money-avg*num;
st[i].coin=sum;
for(int j=0; j<num; j++)
{
cin>>nm;
for(int k=0; k<n; k++)
{
if(!strcmp(nm,st[k].name))
{
st[k].coin+=avg;
break;
}
}
}
break;
}
}
}
for(int i=0; i<n; i++)
cout<<st[i].name<<" "<<st[i].coin-re[i]<<endl;
return 0;
}