USACO-1.1.2Greedy Gift Givers

来源:互联网 发布:mac版的炒股软件 编辑:程序博客网 时间:2024/05/17 22:17

题解:
1.使用map 键值对
2.注意点:如果某个人给0个人发礼物,要排除掉(分母不为0)。

/*ID:jsntrdy1PROG: gift1 LANG: C++*/#include<cstdio>#include<iostream>#include<cstring>#include<fstream> #include<map>using namespace std;string names[10];ifstream fin("gift1.in");ofstream fout("gift1.out"); map<string,int> mapmap;int main(){       int n;    string name;    fin>>n;    for(int i=0;i<n;i++)    {        fin>>names[i];        mapmap[names[i]]=0;    }    int m,t,mm;    for(int i=0;i<n;i++)    {        fin>>name>>m>>t;        if(t==0)          continue;        mm=m/t;        mapmap[name]-=mm*t;        for(int i=0;i<t;i++)        {            fin>>name;            mapmap[name]+=mm;        }    }    for(int i=0;i<n;i++)    {       fout<<names[i]<<" "<<mapmap[names[i]]<<endl;    }    fin.close();    fout.close();    return 0;}
原创粉丝点击