1 solutions
-
0
C++ :
#include<iostream> #include<cstring> using namespace std; struct person{ string name; int money; }a[12]; //存储每个人的名字和钱数 string name_out,name_in; int n,mout,num,sum; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i].name;//输入所有人名字 for(int i=1;i<=n;i++){ sum=1; cin>>name_out>>mout>>num;//输入姓名,钱数,收礼人数 if(!num||!mout) continue;//如果给别人的钱数或人数为0,不进行运算 for(int j=1;j<=num;j++){ cin>>name_in;//收礼人姓名 for(int k=1;k<=n;k++){ if(sum&&a[k].name==name_out){ sum--;//用sum保证只减去一次 a[k].money-=mout/num*num;//表示减去给别人的钱数 } if(a[k].name==name_in) a[k].money+=mout/num;//增加钱数 } } } for(int i=1;i<=n;i++) cout<<a[i].name<<" "<<a[i].money<<endl;//输出 }
- 1
Information
- ID
- 9979
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By