USACO-Section1.1 Greedy Gift Givers

来源:互联网 发布:nginx 直播服务器搭建 编辑:程序博客网 时间:2024/05/13 00:49

Greedy Gift Givers

本体只需按照所给输入按顺序操作即可解。
为求方便用map做了姓名与编号间的映射。
代码如下:

/*ID: xhzdcyy1PROB: gift1LANG: C++         */#include <iostream>#include <fstream>#include <cstring>#include <map>#define cin fin#define cout fout using namespace std;int main(){    ofstream fout ("gift1.out");    ifstream fin ("gift1.in");    int NP,NG[10]={0};    string name[10],tmp;    map<string,int> m;    cin>>NP;    for(int i=0;i<NP;i++){        cin>>tmp;        name[i]=tmp;        m[tmp]=i;    }    for(int i=0;i<NP;i++){        cin>>tmp;        int t1=m[tmp],money,c;        cin>>money>>c;        for(int j=0;j<c;j++){            cin>>tmp;            NG[t1]-=(money/c);            int t2=m[tmp];            NG[t2]+=(money/c);        }    }    for(int i=0;i<NP;i++){        cout<<name[i]<<" "<<NG[i]<<endl;    }    return 0; }