#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;
}
Greedy Gift Givers 贪婪的送礼者
最新推荐文章于 2024-01-16 21:56:33 发布