气球颜色最多
来源:互联网 发布:淘宝店铺首页定时发布 编辑:程序博客网 时间:2024/04/28 18:29
- 题目
在放气球比赛中,有很多不同颜色的气球,现在要统计哪种颜色的气球最多。 - 输入描述
输入数据包含多组测设案例。每组测设案例由N(0≤N≤1000) 打头,N 表示分发的气球的总数目。接下去的N 行每行包含一种颜色。气球的颜色是一个多达15个小写字母的单词。
一个测设案例的N=0 表示输入结束。 - 输出描述
对于每个测设案例,把数目最多的那种颜色打印在单独一行上。每个测设案例都仅有一种颜色是最多的。 - 输入样例
5
green
red
blue
red
red
3
pink
orange
pink
0 - 输出案例
red
pink
解答:本题实际上就是统计每种颜色出现的数量,不好的算法可能使编程实现起来比较困难且可能超时。
使用映照容器比较好实现,速度也快。键值是气球颜色的单词,映照数据则是该种颜色气球出现的次数,即Map<Color, Number>。
先把数据统计到Map<Color,Number>中,在搜索出Map中<..,Number>最大的元素,最后把颜色<Color,..>打印出来。代码如下:
//ball.cpp
#include <fstream>#include <iostream>#include <string>#include <map>using namespace std;int main(){ //ifstream cin("aaa.txt"); map<string, int> m; int n, i; string s; map<string, int>::iterator it, it2; while (cin>>n) { if (n == 0) break; m.clear(); for (i = 0; i < n;i++) { cin >> s; //在映照容器中查找键值 if (m.find(s) != m.end()) m[s] = m[s] + 1; else m[s] = 1; } it2 = m.begin(); for (it = m.begin(); it != m.end();it++) { //注意,映照容器中,元素的键值为it->first //元素映照值为it->second if (it2->second < it->second) it2 = it; } cout << it2->first << endl; } return 0;}
效果如下:
0 0
- 气球颜色最多
- HDU-balloons-求颜色最多的气球的颜色
- 输出多组中颜色最多的气球法一
- hdoj 1004 寻找气球颜色出现最多次数
- 杭电1004 气球数量最多的颜色
- acm水题,颜色气球
- 气球颜色统计 HDU-1004
- 寒假练习2_A 涂气球颜色
- 气球
- 杭电OJ 第一周 ProblemF:气球颜色
- 杭电oj1004最流行的气球颜色
- Arithmetic problem | 吹爆n个气球,得到最多的分数
- 【Codeforces Round 273 (Div 2)C】【贪心 脑洞】 Table Decorations 三种气球装饰桌子 同桌三个气球不完全同色的最多桌子装饰数
- 杭电ACM1004 数目最多的颜色
- 《ACM程序设计》-Problem O-找出最多颜色
- HDOJ 1004 Letthe Balloon Rise (寻找最多的颜色)
- ACM程序设计书中题目--O(出现最多的颜色)
- HDU 1004单线寻找哪种颜色最多
- 解决启动android studio模拟器启动失败之HAXM问题的方法
- servlet例子
- Maven编译时找不到StringUtils类
- 9.21学习总结
- 数据结构之简易版hashmap
- 气球颜色最多
- Android showing LoadingView or EmptyView for Activity or Fragment
- MTK智能平台电池曲线自动生成
- 先序序列构建二叉树
- 自定义属性字符串
- mysql数据库引擎常用面试总结
- 设置报表,传递参数
- Python进阶
- TNG AV-298 功放修理