USACO Section 1.1.2 Greedy Gift Givers

来源:互联网 发布:手机淘宝如何退货 编辑:程序博客网 时间:2024/05/17 05:53

不多说,简单题,比较重要的是要找到是哪个人送的礼物,送给了谁,给了多少

注意处理一下除数为0的情况,否则会出错


/*ID: zhuihun1PROG: gift1LANG: 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;}



原创粉丝点击