pat 1054. The Dominant Color (20)
2015-07-21 14:28
453 查看
1054. The Dominant Color (20)
时间限制100 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
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<cstdlib> #include<cstdio> #include<algorithm> using namespace std; int n,m; int main() { scanf("%d%d",&m,&n); int *a=new int[n*m+10]; for(int i=0;i<n*m;i++) { scanf("%d",&a[i]); } sort(a,a+n*m); int res=0; int j; for(int i=0;i<n*m;) { for(j=i+1;j<n*m;j++) { if(a[j]!=a[i]) { break; } } if(j-i>n*m/2) { res=a[i]; printf("%d\n",res); return 0; } i=j; } }
相关文章推荐
- 《开源框架那点事儿24》:开着跑车换轮胎
- oracle中如何对字符串进行去除空格的方法
- C# 遍历DLL导出函数
- [SCOI2012][BZOJ2756] 奇怪的游戏
- 微信公众平台java开发详解(工程代码+解析)
- OC学习笔记之类的封装
- [python] 发GET请求
- 静态库的生成和调用
- 互联网十大失败案
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十九讲:apache+php+mysql开发环境搭建(wamp)
- JSON用法
- 在Arcmap中加载互联网地图资源的4种方法
- 什么是统驭科目?
- hive 查询结果导入到hdfs中 row format 报错
- 【Swift】读取文本文件字符串
- Android开发工具Eclipse自己常用的几个快捷键
- springmvc 返回json数据日期格式化方法
- ZOJ 1048 Financial Management
- JAVA中Double与double(Integer&int)之间的区别
- ios学习之 初识UIBarButtonItem