/*
ID: boyshan1
PROG: gift1
LANG: C++
*/
#include <iostream>
#include<fstream>
#include <string>
using namespace std;
struct Giver
{
string giver_name;
int init_value;
int final_value;
};
int main()
{
ofstream fout("gift1.out");
ifstream fin("gift1.in");
Giver g[10];
int num,m,i=0,j,gifts;
string from,to;
fin>>num;
for(i=0;i<num;i++) //将每个人的初始礼物值和结束礼物值设置为0
{
fin>>g[i].giver_name;
g[i].init_value=0;
g[i].final_value=0;
}
while(fin>>from)
{
fin>>gifts>>m;
for(j=0;j<num;j++)
{
if(from==g[j].giver_name)
{
g[j].init_value=gifts;
if(m==0) //如果收礼物的人数为0,就将礼物收入自己手里
g[j].final_value+=gifts;
else g[j].final_value+=gifts%m; //如果收礼物的人数不为0,就将给完剩下的收入自己手中
}
}
for(i=0;i<m;i++)
{
fin>>to;
for(j=0;j<num;j++)
{
if(to==g[j].giver_name) //收礼物的人的礼物数变化情况
{
g[j].final_value+=(gifts-gifts%m)/m;
}
}
}
}
for(i=0;i<num;i++)
fout<<g[i].giver_name<<" "<<g[i].final_value-g[i].init_value<<endl;
return 0;
}
ID: boyshan1
PROG: gift1
LANG: C++
*/
#include <iostream>
#include<fstream>
#include <string>
using namespace std;
struct Giver
{
string giver_name;
int init_value;
int final_value;
};
int main()
{
ofstream fout("gift1.out");
ifstream fin("gift1.in");
Giver g[10];
int num,m,i=0,j,gifts;
string from,to;
fin>>num;
for(i=0;i<num;i++) //将每个人的初始礼物值和结束礼物值设置为0
{
fin>>g[i].giver_name;
g[i].init_value=0;
g[i].final_value=0;
}
while(fin>>from)
{
fin>>gifts>>m;
for(j=0;j<num;j++)
{
if(from==g[j].giver_name)
{
g[j].init_value=gifts;
if(m==0) //如果收礼物的人数为0,就将礼物收入自己手里
g[j].final_value+=gifts;
else g[j].final_value+=gifts%m; //如果收礼物的人数不为0,就将给完剩下的收入自己手中
}
}
for(i=0;i<m;i++)
{
fin>>to;
for(j=0;j<num;j++)
{
if(to==g[j].giver_name) //收礼物的人的礼物数变化情况
{
g[j].final_value+=(gifts-gifts%m)/m;
}
}
}
}
for(i=0;i<num;i++)
fout<<g[i].giver_name<<" "<<g[i].final_value-g[i].init_value<<endl;
return 0;
}