1068. 万绿丛中一点红(20)

1068. 万绿丛中一点红(20)

时间限制
500 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

对于计算机而言,颜色不过是像素点对应的一个24位的数值。现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大。

输入格式:

输入第一行给出三个正整数,分别是M和N(<= 1000),即图像的分辨率;以及TOL,是所求像素点与相邻点的颜色差阈值,色差超过TOL的点才被考虑。随后N行,每行给出M个像素的颜色值,范围在[0, 224)内。所有同行数字间用空格或TAB分开。

输出格式:

在一行中按照“(x, y): color”的格式输出所求像素点的位置以及颜色值,其中位置x和y分别是该像素在图像矩阵中的列、行编号(从1开始编号)。如果这样的点不唯一,则输出“Not Unique”;如果这样的点不存在,则输出“Not Exist”。

输入样例1:
8 6 200
0 	 0 	  0 	   0	    0 	     0 	      0        0
65280 	 65280    65280    16711479 65280    65280    65280    65280
16711479 65280    65280    65280    16711680 65280    65280    65280
65280 	 65280    65280    65280    65280    65280    165280   165280
65280 	 65280 	  16777015 65280    65280    165280   65480    165280
16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215
输出样例1:
(5, 3): 16711680
输入样例2:
4 5 2
0 0 0 0
0 0 3 0
0 0 0 0
0 5 0 0
0 0 0 0
输出样例2:
Not Unique
输入样例3:
3 3 5
1 2 3
3 4 5
5 6 7
输出样例3:
Not Exist

下面的代码虽然运行正确,但是使用了全局变量和大量的内存,需要改进,另外,本题红字部分是误导,边缘的点不一定有8个邻点,因为这个调了很长时间,有点坑人.

/*************************************************************************> File Name: 1068.c> Author: YueBo> Mail: yuebowhu@163.com> Created Time: Mon 29 May 2017 11:03:53 AM CST************************************************************************/#include <stdio.h>
#include <math.h>long int array[1000][1000];
int flag[2<<24] = {0};int judgeTOL(int r, int c, long int TOL, int M, int N)
{int i, j;long int min_v = 2<<24 , tmp;if (flag[array[r][c]] != 1)return 0;for (i = r-1; i <= r+1; i++){for (j = c-1; j<=c+1 && i<M && j<N ; j++){if (i == r && j == c)break;tmp = abs(array[i][j]-array[r][c]);min_v = min_v > tmp ? tmp : min_v;}}return (min_v > TOL);
}int main()
{int M, N;long int TOL;int i, j;char buf[1024];int cnt = 0;scanf("%d%d%ld", &N, &M, &TOL);for (i = 0; i < M; i++){for (j = 0; j < N; j++){scanf("%ld", &array[i][j]);flag[array[i][j]]++;}}for (i = 0; i < M; i++){for (j = 0; j < N; j++){if (judgeTOL(i, j, TOL, M, N)){sprintf(buf, "(%d, %d): %ld", j+1, i+1, array[i][j]);cnt++;}}}switch (cnt){case 0:printf("Not Exist");break;case 1:printf("%s", buf);break;default:printf("Not Unique");break;}return 0;
}



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MapReduce 作业调试

1. 最经典的方法通过打印语句来调试程序 System.err.println("Bad Data"value.toString()); 这些输出错误都会记录到一个标准错误中&#xff0c;可以通过WebUI进行查看 2.可以创建一个自定义计数器来统计整个数据集中不合理的数据的数量。 首先创建一个enum enum BA…

寻找边界值,二分模板,简洁凝练

二分模板 class Solution {public static void main(String[] args) {int[] arr{1,2,2,2,2,4,5,6};int l0,rarr.length-1;while(l<r){int midl(r-l)/2;if(arr[mid]>2) rmid;else lmid1;}System.out.println("l:"l"r:"r);System.out.println("le…

Java 字节和字符流的读写+Buffered

一个关于IO流的导图 IO流字节的读写&#xff0c;实现复制 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class TestCopy {public static void main(String[] args) throws IOException {copyT…

1069. 微博转发抽奖(20)

1069. 微博转发抽奖(20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue小明PAT考了满分&#xff0c;高兴之余决定发起微博转发抽奖活动&#xff0c;从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。 输入格式…

jdbc 连接 Oracle 进行基本的增删改查

package api8;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;public class UpdateSelect {public static void main(String[] args) {// jdbc 连接 OracleselectAll();}//…

1070. 结绳(25)

1070. 结绳(25) 时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一段一段的绳子&#xff0c;你需要把它们串成一条绳。每次串连的时候&#xff0c;是把两段绳子对折&#xff0c;再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳…

近期的随笔

有一段时间没有更新博客了&#xff0c;这一段时间确实忙&#xff0c;换工作&#xff0c;过年&#xff0c;适应新工作&#xff0c;培训&#xff0c;搬家等等。今天积累了一点想法想写写。 1.关于博客 在运营了独立博客一段时间后&#xff0c;有了比较深的感受就是为了高大上而高…

Java预编译和批处理

预编译 package csdn.prepare.take;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class TestCompiling {public static void main(String[] args) {prep…

1028. 人口普查(20)

1028. 人口普查(20) 时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue某城镇进行人口普查&#xff0c;得到了全体居民的生日。现请你写个程序&#xff0c;找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的&#xff0c;但不一定是…

结对项目开发-电梯调度

结对项目开发-电梯调度n设计和实现一个电梯调度瞄准两个正确性和性能&#xff0c;在托管代码。n技能训练&#xff1a;na&#xff09;需求分析nb&#xff09;高层次设计&#xff08;界面&#xff0c;信息隐藏&#xff0c;松耦合&#xff09;nc&#xff09;设计文档nd&#xff09…

1030. 完美数列(25)

1030. 完美数列(25) 时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CAO, Peng给定一个正整数数列&#xff0c;和正整数p&#xff0c;设这个数列中的最大值是M&#xff0c;最小值是m&#xff0c;如果M < m * p&#xff0c;则称这个数列是完美数列。 …

Java模拟事务Demo

Java操作Oracle事务&#xff0c;以转账为例。 转账之前 package translate.commit;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class CommitRollback…

关于 block的一些浅识

block的定义&#xff1a;“带自动变量的匿名函数” &#xff08;一&#xff09;写法&#xff1a; ^ void (int iAge){ NSLog("%d", iAge);}; 和C函数写法区别在于: 1) :以插入符号 ^ 开始. 2):没有函数名字 当block声明变量时候的写法 void (^blk)(int iAge) block …

1025. 反转链表 (25)

1025. 反转链表 (25) 时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一个常数K以及一个单链表L&#xff0c;请编写程序将L中每K个结点反转。例如&#xff1a;给定L为1→2→3→4→5→6&#xff0c;K为3&#xff0c;则输出应该为3→2→1→6…

手机连接电脑win10热点,手机显示无IP分配

hhhh&#xff0c;下面是我从csdn以及百度上查到的&#xff0c;对于我解决这个问题没什么luan用。 在C:\Windows\System32\drivers\etc GitHub不能上&#xff0c;可能我改了host文件的。 //创建一个热点对象 账号为lovely 密码为key netsh wlan set hostednetwork modeallow ss…

设计模式4-创建型模式-Prototype模式

意图&#xff1a;用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型对象创建新的对象。 原型模式的结构比较简单&#xff0c;在使用C实现该模式时重点要注意deep copy和shallow copy的问题。prototype模式在实际使用的过程中&#xff0c;可以通过增加一个原型管理…

JavaIO流加解密,AES对字符串加解密

加解密文件&#xff1f; 哈哈哈哈&#xff0c;当然是为了安全&#xff0c;自己的东西不像让别人看见。 1&#xff0c;学了JavaIO流的字节流的读取写入&#xff0c;便可实现。 加密原理: 把文件读取&#xff0c;然后&#xff0c;按某个特定的规则改变其字节写入一个新文件。 解…

Android--通知之Notification

前言 之前一篇博客讲了Android下使用Toast的方式提示消息。这篇博客讲解一下在Android中使用Notification提示消息给用户&#xff0c;Notification是一种具有全局效果的通知&#xff0c;程序一般通过NotificationManager服务来发送Notification。在本篇博客中&#xff0c;将介绍…

1049. 数列的片段和(20)

1049. 数列的片段和(20) 时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CAO, Peng给定一个正数数列&#xff0c;我们可以从中截取任意的连续的几个数&#xff0c;称为片段。例如&#xff0c;给定数列{0.1, 0.2, 0.3, 0.4}&#xff0c;我们有(0.1) (0.1…