/* ID:mingcha1 PROG: gift1 LANG: C++ */ #include<iostream> #include<fstream> #include<string> using namespace std; const int SIZE=12; ofstream fout ("gift1.out"); ifstream fin ("gift1.in"); struct node{ string name; int money; }; node a[SIZE]; int n; void f(string tmp){ int all,num; fin>>all>>num; for(int i=0;i<n;++i){ if(tmp==a[i].name){ if(num!=0) a[i].money-=(all/num)*num; break; } }//出钱方 for(int i=0;i<num;++i){ string name; fin>>name; for(int j=0;j<n;++j){ if(name==a[j].name){ a[j].money+=(all/num); break; } } }//拿钱方 } int main(){ fin>>n; for(int i=0;i<n;++i){ fin>>a[i].name; a[i].money=0; } for(int i=0;i<n;++i){ string tmp; fin>>tmp; f(tmp); } for(int i=0;i<n;++i){ fout<<a[i].name<<" "<<a[i].money<<endl; } return 0; }
usaco_gift1
最新推荐文章于 2018-07-19 21:14:48 发布