不多说,简单题,比较重要的是要找到是哪个人送的礼物,送给了谁,给了多少
注意处理一下除数为0的情况,否则会出错
/*
ID: zhuihun1
PROG: gift1
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Persion
{
string name;
int in;
int out;
};
Persion cinP[20] ;
int np,num;
int findID(string name)
{
for(int i=0;i<np;i++)
if(cinP[i].name==name)
return i;
return -1;
}
int main()
{
ofstream fout ("gift1.out");
ifstream fin ("gift1.in");
int i,j,k,m,n;
string tname;
while(fin>>np)
{
num=0;
for(i=0;i<np;i++)
{
fin>>cinP[i].name;
cinP[i].in=0;
cinP[i].out=0;
}
while(num<np)
{
fin>>tname;
int tid=findID(tname);
num++;
fin>>m>>n;
if(n==0)
{
cinP[tid].in+=m;
cinP[tid].out=m;
continue;
}
cinP[tid].in+=m%n;
cinP[tid].out=m;
for(k=0;k<n;k++)
{
fin>>tname;
tid=findID(tname);
cinP[tid].in+=m/n;
}
}
for(j=0;j<np;j++)
fout<<cinP[j].name<<" "<< cinP[j].in-cinP[j].out<<endl;
}
return 0;
}