题意:几个人互相给钱 最终求账户余额
简单模拟 使用map存储对应关系
/*
ID: nflsjxc1
TASK: gift1
LANG: C++
*/
#include<bits/stdc++.h>
using namespace std;
map<string,int>sti;
int acc[100];
int main()
{
freopen("gift1.in","r",stdin);
freopen("gift1.out","w",stdout);
ios::sync_with_stdio(0);
//cin.tie(0);
queue<string>req;
int n;cin>>n;
for(int i=1;i<=n;i++)
{
string str;cin>>str;
req.push(str);
sti[str]=i;
}
int out,ren;
for(int i=1;i<=n;i++)
{
string str;
cin>>str;
cin>>out>>ren;
if(out==0&&ren==0)continue;
for(int j=1;j<=ren;j++)
{
string str;cin>>str;
acc[sti[str]]+=out/ren;
}
acc[sti[str]]-=(out-out%ren);
}
while(!req.empty())
{
cout<<req.front()<<' '<<acc[sti[req.front()]]<<'\n';
req.pop();
}
return 0;
}