浙江大学PAT_甲级_1054. The Dominant Color (20)
2015-06-20 10:58
393 查看
题目链接:点击打开链接
Behind the scenes in the computer's memory, color is always talked about as a series of 24 bits of information for each pixel. In an image, the color with the largest proportional area is called the dominant color. A strictly dominant color takes more
than half of the total area. Now given an image of resolution M by N (for example, 800x600), you are supposed to point out the strictly dominant color.
Input Specification:
Each input file contains one test case. For each case, the first line contains 2 positive numbers: M (<=800) and N (<=600) which are the resolutions of the image. Then N lines follow, each contains M digital colors in the range [0, 224).
It is guaranteed that the strictly dominant color exists for each input image. All the numbers in a line are separated by a space.
Output Specification:
For each test case, simply print the dominant color in a line.
Sample Input:
Sample Output:
我的C++程序:
Behind the scenes in the computer's memory, color is always talked about as a series of 24 bits of information for each pixel. In an image, the color with the largest proportional area is called the dominant color. A strictly dominant color takes more
than half of the total area. Now given an image of resolution M by N (for example, 800x600), you are supposed to point out the strictly dominant color.
Input Specification:
Each input file contains one test case. For each case, the first line contains 2 positive numbers: M (<=800) and N (<=600) which are the resolutions of the image. Then N lines follow, each contains M digital colors in the range [0, 224).
It is guaranteed that the strictly dominant color exists for each input image. All the numbers in a line are separated by a space.
Output Specification:
For each test case, simply print the dominant color in a line.
Sample Input:
5 3 0 0 255 16777215 24 24 24 0 0 24 24 0 24 24 24
Sample Output:
24
我的C++程序:
#include<iostream> #include<map> using namespace std; int main() { int m, n, i = 0; map<int, int>ma;//map的值统计数字出现次数 int temp,max_value=0; scanf("%d %d", &m, &n); for (i = 0;i < m*n;i++) { scanf("%d", &temp);//输入数字 ma[temp]++; } auto it = ma.begin(); for (;it != ma.end();it++)//遍历map { if (it->second > max_value) { temp= it->first;////记录出现次数最多的数字 max_value = it->second;//寻找最大出现次数 } } printf("%d",temp); //system("pause"); return 0; }
相关文章推荐
- hive-内部表与外部表的区别
- 2015华为笔试题
- 学习五种最佳的背诵方法
- php写入、删除与复制文件的方法
- 网爆朋友圈遭“人贩”刷屏是营销
- VS2010与VC++6.0使用静态、动态链接库的不同
- 网络设置基础
- 朱新伟:香港政改被否=全国人大常委会决定被否?
- service结合MediaPlayer的基础使用
- Spark学习笔记之浅释
- 去哪儿科技实习生面试总结【通过面试】
- POJ 3982
- 【Leetcode】Binary Tree Level Order Traversal
- “港独”喷发的这4年
- Eclipse中.project和.classpath文件的作用
- URAL 1106. Two Teams (二分图)
- 深入理解javascript之内存分配
- iOS系统导航栏的自定义化
- Nginx深入详解之日志
- hbase操作以及维护