HDOJ.1228 A + B (map)】的更多相关文章

A + B 点我挑战题目 点我一起学习STL-MAP 题意分析 讲字符串和数字用map对应即可 代码总览 /* Title:HDOJ.1228 Author:pengwill Date:2016-11-21 */ #include <iostream> #include <map> #include <string> using namespace std; typedef map<string,int> mmp; mmp p; mmp::iterator…
水果 点我跳转到题面 点我一起学习STL-MAP 题意分析 给出多组测试数据,每组数据有多条信息.分别是水果种类,地点,和水果数目.每组信息要按照样例输出,并且输出要按照地点->水果种类的字典序. 可以采用map的嵌套,来实现题目要求.但要注意一下,在循环的时候迭代器内外层是的类型是不一样的,所以要重新写两种typedef. (此题也是学习了别的大牛的做法,这题有结构体排序也可以是实现) 代码总览 /* Title:HDOJ.1263 Author:pengwill Date:2016-11-2…
统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 41119    Accepted Submission(s): 14848 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的…
Flying to the Mars 点我挑战题目 题意分析 有n个人,每个人都有一定的等级,高等级的人可以教低等级的人骑扫帚,并且他们可以共用一个扫帚,问至少需要几个扫帚. 这道题与最少拦截系统有异曲同工之妙.不同在于这道题可以排序,而最少拦截系统不能排序.我们想一下,把这些人排好序,并统计每个等级的人的个数.一次从最高等级到最低等级划掉一个人(可以理解为这些人互相教并且骑一个扫帚),一直划,直到最后一个人.这样可以看出来,扫帚的数量肯定是由某个等级的人数确定的.并且那个等级的人数最多.因此,…
Word Amalgamation 点我挑战题目 点我一起学习STL-MAP 题意分析 给出字典.之后给出一系列======乱序======单词,要求你查字典,如过这个乱序单词对用有多个有序单词可以输出,那么按照字典序将其输出. 若没有对应单词,输出NOT A VALID WORD. 可见这是一组组对应关系,可以用map来实现.map字典中first保存原本的单词(因为first按字典序),second保存原本单词排序后的单词.每次读入一个乱序单词后,sort遍历map并查找和second匹配的…
单词数 点我挑战题目 点我一起学习STL-MAP 题意分析 给出一行单词,判断这行有不同种的单词多少个,用map可以轻松解决. 代码总览 /* Title:HDOJ.2072 Author:pengwill Date:2016-11-21 */ #include <iostream> #include <map> #include <stdio.h> #include <string> #include <string.h> #define ma…
产生冠军 点我挑战题目 点我一起学习STL-MAP 题意分析 给出n组数据,代表a打败了b,让判断根据这n组数据是否能判断出来产生了冠军.一开始以为这道题很难,其实用map可以应付. 大原则,赢了的人置1,输了的人置0. 首先要知道胜利的人肯定不能输,①所以在map中输了的人置0,②并且如果这个人输过(也就是他的second已经为0了),即使是赢了的话,也不置为1.③最后遍历判断一下,map中是否只有1个一,如果是的话,就能产生冠军,否的话,就不能. 代码总览 /* Title:HDOJ.209…
What Are You Talking About 点我跳转到题面 点我一起学习STL-MAP 题意分析 首先第一组START-END给出翻译的字典,第二组START-END给出一句话,查找里面出现的单词,若字典中有则输出翻译后的内容,没有则原封不动输出. 代码总览 /* Title:HDOJ.1075 Author:pengwill Date:2016-11-21 */ #include <iostream> #include <string> #include <str…
Ignatius and the Princess IV 点我跳转到题面 点我一起学习STL-MAP 题意分析 给出一个奇数n,下面有n个数,找出下面数字中出现次数大于(n+1)/2的数字,并输出. 用map做出映射,然后迭代器检查是否满足输出条件,是的话输出即可. 代码总览 /* Title:HDOJ.1029 Author:pengwill Date:2016-11-21 */ #include <iostream> #include <stdio.h> #include &l…
Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. 注意:本题只有一组测试数据,处理到文件结束. Output 对于每个提…