POJ 2153 Rank List (map映射)
水题,竟然花了那么多时间。。。主要是不知道为什么,明明在本机上编译过去了,但是用c++提交却编译错误。。。最后用g++提交AC
题意:给出n个学生的名字,然后给出m个测验。
每个测验给出n个学生的分数。
当给出第i次测验的成绩,求Li Ming在所有学生中,前i次成绩总和的排名(若分数相同,则Li Ming排在第一个)
开始没仔细看题,以为对于每次测验,只要给出Li Ming在此次测验中的排名。
后来才知道,原来题目中有这么一句话:
In the i-th line, you should give the rank of Li Ming after the i-th exam.
The rank is decided by the total scores。。。
思路:用map建立映射关系,最后求名次的时候for循环一遍即可。
#include <iostream>
#include <stdio.h>
#include <map>
#include <string.h>
#include <algorithm> const int maxn=;
using namespace std;
int n,m;
int score[maxn];
map<string,int> stu; //建立学生名字到编号的映射 int main()
{
char str[];
int fenshu;
cin>>n;
getchar();
for(int i=;i<=n;i++){
gets(str); //用gets读取名字
stu[str]=i;
}
cin>>m;
memset(score,,sizeof(score));
while(m--){
for(int i=;i<=n;i++){
scanf("%d",&fenshu);
getchar(); //先读取分数后面的一个空格
gets(str);
score[stu[str]]+=fenshu;
}
int ranks=; //李明的排名
for(int i=;i<=n;i++)
if(score[i]>score[stu["Li Ming"]])
ranks++;
cout<<ranks<<endl;
}
return ;
}
POJ 2153 Rank List (map映射)的更多相关文章
- poj 2153 Rank List(查找,Map)
题目链接:http://poj.org/problem?id=2153 思路分析: 判断Li Ming的成绩排名,需要在所有的数据章查找成绩比其高的人的数目,为查找问题. 查找问题可以使用Hash表, ...
- poj 2153 Rank List
原题链接:http://poj.org/problem?id=2153 简单题,map,平衡树均可.. map: #include<algorithm> #include<iostr ...
- poj 2513(欧拉路径+字典树映射)
题目链接:http://poj.org/problem?id=2513 思路:题目还是很简单的,就是判断是否存在欧拉路径,我们给每个单词的头和尾映射序号,统计度数.对于给定的无向图,当且仅当图连通并且 ...
- ZOJ 3644 Kitty's Game dfs,记忆化搜索,map映射 难度:2
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4834 从点1出发,假设现在在i,点数为sta,则下一步的点数必然不能是sta的 ...
- POJ2503——Babelfish(map映射+string字符串)
Babelfish DescriptionYou have just moved from Waterloo to a big city. The people here speak an incom ...
- map——映射(message.cpp)
信息交换 (message.cpp) [题目描述] Byteland战火又起,农夫John派他的奶牛潜入敌国获取情报信息. Cow历尽千辛万苦终于将敌国的编码规则总结如下: 1 编码是由大写字母组成的 ...
- filter过滤器与map映射
filter过滤器 >>> list(filter(None,[0,1,2,True,False])) [1, 2, True] filter的作用就是后面的数据按照前面的表达式运算 ...
- map映射
采集于:https://blog.csdn.net/luanpeng825485697/article/details/78056312 映射map: var map = new Map(); //映 ...
- Java精选笔记_集合【Map(映射)接口】
Map(映射)接口 简介 该集合存储键值对,一对一对的往里存,并且键是唯一的.要保证map集合中键的唯一性. 从Map集合中访问元素时,只要指定了Key,就能找到对应的Value. 关键字是以后用于检 ...
随机推荐
- Effective C# 学习笔记(原则一:始终能的使用属性(property),而不是可直接访问的Data Member)
原则一:始终能的使用属性(property),而不是可直接访问的Data Member Always use properties instead of accessible data memb ...
- R语言的字符串处理
R语言字符串的拼接 content<-paste("124235","789","124",sep="@") 运行 ...
- Redhat 6环境下安装Oracle 12c的方法
Step 1: 要在Linux上安装Oracle,需要在安装Oracle之前安装好相应的软件包,在不同操作系统环境下,对软件包的要求各不相同.具体对应的软件包,见官网文档:https://docs.o ...
- zip压缩
package com.green.project.compress; import java.io.File;import java.io.FileInputStream;import java.i ...
- jquery 源码学习(一)
从上边的注释看,jQuery的源码结构相当清晰.条理,不像代码那般晦涩和让人纠结 1. 总体架构 1.1 自调用匿名函数 self-invoking anonymous function 打开jQ ...
- Timer Design in StatusBar
Timer in StatusBar we need to show local time in StatusBar. solution: 1. add textblock control 2. bi ...
- gcc 创建库及使用
gcc -shared hello.c -o libhello.so gcc -o test test.c -L库所在目录 -l库名
- Linux下强制修改root密码方法(图)
如果Linux操作系统的root密码,那怎么办呢?方法很多,下面再给大家介绍一种. [1] 进入以下画面后,按下e按钮,进入编辑模式: [2]进入以下的画面后,选择如下所示的选项,再次按下e按钮: 然 ...
- unity2d之2d帧动画创建
在2d游戏中帧动画的应用是非常广泛的,那么如何在unity中创建一个帧动画,主要是下面几个步骤. 原文地址 :http://blog.csdn.net/dingkun520wy/article/de ...
- Think in java备忘录
1..new在内部类中的使用 .new可以用使用外部类对象创建一个内部类,对象 DotNew.java package com.gxf.innerclass; public class DotNew ...