Greedy Gift Givers 贪婪的送礼者

来源:互联网 发布:惯性导航算法工程师 编辑:程序博客网 时间:2024/05/21 16:47
#include <iostream>#include <string>#include <map>#include <vector>using namespace std;typedef struct people{string name;int money;int number;vector<string> who;int receive;int send;}people;int main(int argc, char const *argv[]){map<string,people> v;vector<string> v1;int totalnumber;cout<<"how many people?"<<'\n';cin>>totalnumber;string name;for(int i=0;i<totalnumber;i++){cout<<"each people name "<<'\n';cin>>name;v[name].name = name;v[name].receive = 0;v[name].send = 0;v1.push_back(name);cout<<v1[i]<<'\n';}for(int i=0;i<totalnumber;i++){string eachname;int totalmoney;cout<<"each people all information"<<'\n';cout<<"name"<<'\n';cin>>eachname;cout<<"totalmoney"<<'\n';cin>>totalmoney;v[eachname].money = totalmoney;cout<<"number"<<'\n';int number;cin>>number;v[eachname].number = number;for(int j=0;j<number;j++){cout<<"send who?"<<'\n';string sendwho;cin>>sendwho;v[eachname].who.push_back(sendwho);}if(number != 0){if(totalmoney % number == 0){for(int k=0;k<number;k++){cout<<v[eachname].who[k]<<'\n';v[v[eachname].who[k]].receive += totalmoney/number;cout<<v[v[eachname].who[k]].receive<<'\n';}v[eachname].send = totalmoney;}else{for(int k=0;k<number;k++){cout<<v[eachname].who[k]<<'\n';v[v[eachname].who[k]].receive += totalmoney/number;cout<<v[v[eachname].who[k]].receive<<'\n';}int left;left = totalmoney - (totalmoney/number)*number;v[eachname].send = totalmoney-left;cout<<v[eachname].send<<'\n';}}}cout<<"success......."<<'\n';for(int i=0;i<totalnumber;i++){cout<<v[v1[i]].name<<'\n';cout<<(v[v1[i]].receive-v[v1[i]].send)<<'\n';}return 0;}

0 0
原创粉丝点击