zoukankan      html  css  js  c++  java
  • cf2A Winner(implementation)

    题意:

    N个回合。

    每个回合:name score【名为name的这个人得了score分(可负可正)】。

    问最后谁的累积分数是最高的。设为M。如果有好几个都得了M,找出这几个人中哪个最早回合累积分数超过【大于等于】M。

    最早回合累积分:每一个回合结束后每个人都有一个当前的累积分数。

    思路:

    这题竟被困了挺久,,,,,,,,,,

    *回头进standing看看别人写的简短代码

    代码:

    stru n1{
        string name;
        int p;
    }
    vs[1005];
    
    int n;
    map<string,int> mp, mp2;
    string NAME[1005];
    int A[1005], B[1005];
    
    
    
    int main(){
    
        cin>>n;
    
        int cn=0;
        int ans=0;
        int T=0;
        int id=-1;
        mp.clear();
        mp2.clear();
        mem(A,0);
        mem(B,0);
    
    
        rep(i,1,n){
            string name,p;
            cin>>vs[i].name>>vs[i].p;
            if(mp[vs[i].name]==0){
                mp[vs[i].name]=++cn;
                NAME[cn]=vs[i].name;
            }
            A[mp[vs[i].name]]+=vs[i].p;
        }
    
        rep(i,1,cn){
            ans=max(ans,A[i]);
        }
        rep(i,1,cn){
            if(A[i]==ans){
                ++T;
                id=i;
                mp2[NAME[i]]=1;
            }
        }
    
        if(T==1){
            cout<<NAME[id]<<endl;
        }
        else{
            rep(i,1,n){
                if(mp2[vs[i].name]==1){
                    B[mp[vs[i].name]]+=vs[i].p;
                    if(B[mp[vs[i].name]]>=ans){
                        cout<<vs[i].name<<endl;
                        ret 0;
                    }
                }
            }
        }
    
    
        return 0;
    }
  • 相关阅读:
    Node.js配置And HelloWorld
    谷歌浏览器扩展插件
    C#异步编程简单的运用
    C#中的特性基本理解
    JavaScript 字符 &quot;转换
    IHttpModule
    LinqToXml
    C#使用ajaxForm进行上传图片
    python 中的 __getitem__, __iter__ 和__next__
    python中的装饰器
  • 原文地址:https://www.cnblogs.com/fish7/p/4330886.html
Copyright © 2011-2022 走看看