codeforce 2A Winner

来源:互联网 发布:单片机蓝牙原理 编辑:程序博客网 时间:2024/04/29 19:53

点击打开链接codeforce 2A


思路:模拟

分析:
1 题目要求的在游戏结束后最大的点的值的玩家,或者具有相同点值的情况下最早出现大于等于max的玩家。
2 很明显由于名次是一直在改变的,所以我们无法预测最后的max和已经最先出现大于等于max的玩家。所以这里我们采用做两次的模拟,第一次先算出max并且把最后点是max的玩家标记为1;第二次模拟找到标记为1的玩家里面最先出现大于等于max的玩家,然后输出即可。

代码:

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<map>using namespace std;#define MAXN 1010#define N 50int n , pos;int vis[MAXN];int p[MAXN];char input[MAXN][N];char name[MAXN][N];map<string , int>mp;int main(){   int  max , cnt;   while(scanf("%d%*c" , &n) != EOF){      /*第一次输入*/      for(int i = 0 ; i < n ; i++)         scanf("%s %d%*c" , input[i] , &p[i]);      /*第一次模拟*/      max = 0 , pos = 0;      for(int i = 0 ; i < n ; i++){         int flag = -1;                  for(int j = 0 ; j < pos ; j++){            if(!strcmp(name[j] , input[i])){              flag = j;              break;            }         }         if(flag == -1)            strcpy(name[pos++] , input[i]);         mp[input[i]] += p[i];      }       /*做标记*/      memset(vis , 0 , sizeof(vis));      for(int i = 0 ; i < pos ; i++)          max = max < mp[name[i]] ? mp[name[i]] : max;      for(int i = 0 ; i < pos ; i++){          if(max == mp[name[i]])             vis[i] = 1;      }            /*第二次模拟*/      mp.clear();      for(int i = 0 ; i < n ; i++){         mp[input[i]] += p[i];         int tmp = 0;         for(int i = 0 ; i < pos ; i++){            if(tmp < mp[name[i]]){               tmp = mp[name[i]];               cnt = i;            }         }         /*找到最先出现的玩家*/         if(tmp >= max && vis[cnt])             break;      }      printf("%s\n" , name[cnt]);   }   return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 月经停了2个月怎么办 在练腹肌中腹痛怎么办 越练肌肉越肥怎么办 喘不过气来 心闷怎么办 被气得喘不过气怎么办 健身完头晕想吐怎么办 吃多了反胃头晕怎么办 合同未约定退货货物积压怎么办 运动内衣把胸压平怎么办 经常穿皮鞋脚臭怎么办 买衣服胸围小了怎么办 内衣下胸围太紧怎么办 穿文胸衣服要开怎么办 运动内衣的拉链老来怎么办 胸罩没干急着穿怎么办 跑步时大腿很痒怎么办 胖大腿内侧磨伤怎么办 内衣围带过松怎么办 内衣底围特别紧怎么办 全棉衣服上的油怎么办 高腰牛仔裤腰大了怎么办 新买衣服太硬怎么办 棉麻的衣服发硬怎么办 新衣服太硬怎么办雪纺 衣服硬的咯人怎么办 脖子上的勒痕怎么办 腿上容易出现勒痕怎么办 身上总有内裤印怎么办 内裤穿出了印怎么办 饮水机热水口不出水怎么办 饮水机热水口出水小怎么办 新饮水机热水口出水小怎么办 白钢水桶中间支撑怎么办 17岁想长高应该怎么办 身子瘦但脸胖怎么办 减肥只瘦了胸是怎么办 减肥把胸瘦了怎么办 脸又大又圆怎么办 想长高又想减肥怎么办 孩子做作业精力不集中怎么办 写作业老要睡觉怎么办