zoukankan      html  css  js  c++  java
  • USACO 1.1 Greedy Gift Givers

    /*
    ID: aznfy1
    PROG: gift1
    LANG: C++
    */
    
    #include <string.h>
    #include <algorithm>
    #include <string>
    #include <iostream>
    #include <map>
    #include <stdio.h>
    #define clr(a,b); memset(a,b,sizeof(a));
    
    using namespace std;
    
    string name;
    char s[100][20];
    string tmp;
    int have,givenum;
    map<string,int>ma;
    
    int main()
    {
        freopen("gift1.in","r",stdin);
        freopen("gift1.out","w",stdout);
        int n;
        while(cin>>n)
        {
            ma.clear();
            for(int i=1;i<=n;i++)
            {
                cin>>name;
                for(int j=0;j<name.length();j++)
                s[i][j]=name.c_str()[j];
                ma[name]=0;
            }
            for(int i=1;i<=n;i++)
            {
                cin>>name>>have>>givenum;
                ma[name]+=have;
                for(int j=1;j<=givenum;j++)
                {
                    cin>>tmp;
                    ma[tmp]+=have/givenum;
                    ma[name]-=have/givenum;
                }
                ma[name]-=have;
            }
            for(int i=1;i<=n;i++)
            {
                cout<<s[i]<<" "<<ma[s[i]]<<endl;
            }
            //注释中的是字典序输出,与要求不符。
            /*map<string,int>::const_iterator map_it=ma.begin();
            while(map_it!=ma.end())
            {
                cout<<map_it->first<<" "<<map_it->second<<endl;
                map_it++;
            }*/
        }
        return 0;
    }
    View Code

     第二题代码,顺便学了一下STL的map和string 比较浅显的用法。

  • 相关阅读:
    欧拉定理证明&阶乘的逆元
    Tree POJ
    GCD
    java42
    java41
    java
    java40
    搭建两个网站的琐碎问题
    虚拟机从无到有,服务器从无到有的历程(在更)
    java39
  • 原文地址:https://www.cnblogs.com/whatthefy/p/3080712.html
Copyright © 2011-2022 走看看