0
已解决
李泽屿
新手启示者
新手启示者
题目链接: 酷町堂:2556
#include<iostream>
using namespace std;
int n,k;
struct r{
int qr,q,r,id;
string s;
}a[15];
//qr是每个人发完红包后的钱数。
//s是每个人的名字。
//r是每个人要发的人数 。
//q是每个人要发到总钱数。
string t[15],p[15];
//p是每个人要发的人的名字
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].s;
}
for(int i=1;i<=n;i++){
cin>>t[i]>>a[i].q>>a[i].r;
for(int j=1;j<=a[i].r;j++){
cin>>p[j];
}
a[i].id==i;
}
for(int i=1;i<=n;i++){
a[i].qr-=a[i].q;
}
for(int i=1;i<=n;i++){
if(a[i].q==0&&a[i].r==0)
k=0;
else
k=a[i].q/a[i].r;
//这时,k是最大化平均分的钱数
for(int j=1;j<=n;j++){
if(a[j].s==p[j]){
a[a[j].id].qr+=k;
}
}
}
for(int i=1;i<=n;i++){
cout<<a[i].s<<" "<<a[i].qr<<"\n";
}
return 0;
}
谁会啊!!!
0
已采纳