• Codeforces 2 A. Winner


    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。。。。。。。
    先让我笑完。。。。。。。。。。。。。。。。
    就是一道撒比题啊,一开始是题目看错= =、是,但是后面还是自己不仔细错的。。。。。不存在题目坑这种情况。。。。。。。

    不想写题意了,我想吐啊这题。。。没用map。。
    就是n个操作好,然后求出一个最大值,然后满足这些最大值里面找一个最先的。。。。。。真的是撒比模拟,,,wa了那么久A掉也不怎么开心,自己好菜

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stack>
    #include <queue>
    #include <map>
    #include <set>
    #include <vector>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    const double pi = acos(-1.0);
    #define Len 200005
    #define mod 19999997
    const int INF = 0x3f3f3f3f;
    #define exp 1e-6
    
    struct asd{
        char ss[1010];
        int num;
    };
    
    asd q[1010];
    asd qq[1010];
    asd p[1010];
    
    char s1[1010][1010];
    char tep[1010];
    
    int sum;
    
    int JUDGE(int x)
    {
        char ss[1010];
        strcpy(ss,p[x].ss);
        for(int i=0;i<sum;i++)
        {
            if(strcmp(ss,s1[i])==0)
                return 1;
        }
        return 0;
    }
    
    void debug()
    {
        for(int i=0;i<sum;i++)
            printf("%s
    ",s1[i]);
    }
    
    int main()
    {
        int n;
        int k,num,flag;
    
        cin>>n;
        int Tmax;
        Tmax=0;
        num=0;
    
        for(int i=0;i<n;i++)
        {
            scanf("%s%d",&tep,&k);
    
            strcpy(qq[i].ss,tep);
            qq[i].num=k;
    
            flag=0;
            for(int j=0;j<num;j++)
            {
                if(strcmp(q[j].ss,tep)==0)
                {
                    flag=1;
                    q[j].num+=k;
                }
            }
            if(!flag)
            {
                strcpy(q[num].ss,tep);
                q[num].num+=k;
                num++;
            }
        }
        Tmax=0;
        for(int i=0;i<n;i++)
        {
            if(Tmax<q[i].num)
            {
                Tmax=q[i].num;
            }
        }
    
        //printf("%d
    ",Tmax);
    
        sum=0;
        for(int i=0;i<num;i++)
        {
            if(q[i].num==Tmax)
            {
                strcpy(s1[sum++],q[i].ss);
            }
        }
    
        //debug();
    
        num=0;
        for(int i=0;i<n;i++)
        {
            strcpy(tep,qq[i].ss);
            k=qq[i].num;
    
            flag=0;
            for(int j=0;j<num;j++)
            {
                if(strcmp(tep,p[j].ss)==0)
                {
                    p[j].num+=k;
                    if(p[j].num>=Tmax&&JUDGE(j))
                    {
                        printf("%s",p[j].ss);
                        return 0;
                    }
                    flag=1;
                }
            }
            if(!flag)
            {
                strcpy(p[num].ss,tep);
                p[num].num=k;
                if(p[num].num>=Tmax&&JUDGE(num))
                {
                    printf("%s",p[num].ss);
                    return 0;
                }
                num++;
            }
        }
        return 0;
    }
    
    /*
    
    6
    andrew 3
    andrew 2
    andrew 2
    andrew 3
    mike 5
    mike 5
    
    */
  • 相关阅读:
    简明Secure boot介绍
    密码学有什么用?
    mkimage, no such file or dir
    嵌入式系统安全简介
    希尔排序
    jQuery选择器
    css 选择器
    安装 SQL Server 2008 和管理工具 SQL Server 2008 management studio 及相关问题解决
    mac下安装安卓开发环境
    IOS开发小记-内存管理
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934488.html
Copyright © 2020-2023  润新知