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

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

#include<iostream>
#include<vector>
#include<map>
using namespace std;
int l, h, value;
vector<vector<int> >v;
const int p[8][2]{ {-1,-1},{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1} };
bool judge(int j, int z)
{int x, y;for (int i = 0; i < 8; i++){x = j + p[i][0];y = z + p[i][1];if (x >= 0 && y >= 0 && y < l && x < h && abs(v[j][z] - v[x][y]) <= value)return false;}return true;
}
int main()
{scanf("%d%d%d", &l, &h, &value);map<int, int>m;v.resize(h, vector<int>(l));for (int i = 0; i < h; i++){for (int j = 0; j < l; j++){scanf("%d", &v[i][j]);m[v[i][j]]++;}}int a, b, cnt = 0;for (int i = 0; i < h; i++){for (int j = 0; j < l; j++){if (m[v[i][j]] == 1 && judge(i, j)){cnt++;a = i+1;b = j + 1;}}}if (cnt == 1)printf("(%d, %d): %d", b, a, v[a - 1][b - 1]);else if (cnt == 0)printf("Not Exist");elseprintf("Not Unique");return 0;}

C++学习之路 | PTA乙级—— 1068 万绿丛中一点红 (20 分)(精简)相关推荐

  1. PTA乙级 1068 万绿丛中一点红——20分

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

  2. C++学习之路 | PTA乙级—— 1084 外观数列 (20 分)(精简)

    1084 外观数列 (20 分) 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, - 它从不等于 1 的数字 d 开始,序列的第 n ...

  3. C++学习之路 | PTA乙级—— 1082 射击比赛 (20 分)(精简)

    1082 射击比赛 (20 分) 本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军:谁差得最远,谁就是菜鸟.本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟.我 ...

  4. C++学习之路 | PTA乙级—— 1063 计算谱半径 (20 分)(精简)

    1063 计算谱半径 (20 分) 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a ​1 ​​ +b ​1 ​​ i,⋯ ...

  5. C++学习之路 | PTA乙级—— 1057 数零壹 (20 分)(精简)

    1057 数零壹 (20 分) 给定一串长度不超过 10 ​5 ​​ 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N ...

  6. C++学习之路 | PTA乙级—— 1048 数字加密 (20 分)(精简)

    1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...

  7. C++学习之路 | PTA乙级—— 1047 编程团体赛 (20 分)(精简)

    1047 编程团体赛 (20 分) 编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队 ...

  8. C++学习之路 | PTA乙级—— 1043 输出PATest (20 分)(精简)

    1043 输出PATest (20 分) 给定一个长度不超过 10 ​4 ​​ 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest- 这样的顺序输出,并忽略其它字符.当然 ...

  9. C++学习之路 | PTA乙级—— 1042 字符统计 (20 分)(精简)

    1042 字符统计 (20 分) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 ASCII 码表中任意可见字符及空 ...

最新文章

  1. linux中的网络配置
  2. 游戏中应用强化学习技术,目的就是要打败人类玩家?
  3. 通信电子线路期末复习第四章 振幅调制、解调和混频
  4. mysql autoenlist默认_javascript code all (2) (转转)
  5. matlab仿真图片png,Simulink仿真入门到精通(六) Simulink模型保存为图片
  6. 看看老司机是如何提升B端产品架构能力的
  7. LightGCN:用于推荐任务的简化并增强的图卷积网络 SIGIR 2020
  8. server接收dtu透传代码_ESP8266 STM32 HTTP json透传实验
  9. apache Apache winnt_accept: Asynchronous AcceptEx failed 错误的解决
  10. OpenCVQt学习之一——打开图片文件并显示
  11. python 多线程 paramiko实现批量命令输入输出
  12. http的response遇到illegalstateexception解决办法
  13. LeetCode Map Sum Pairs
  14. H5打开APP技术总结
  15. 性能测试监控TP50、TP99、TP999含义(99分位延时的含义)
  16. 虚拟串口VSPD_V10.0.944官方最新版
  17. 操作系统进程完成时间,周转时间,带权周转时间, 平均周转时间, 带权平均周转时间计算
  18. 基于PHP+小程序(MINA框架)+Mysql数据库的干洗店洗衣小程序系统设计与实现
  19. 视频流媒体服务器如何用OBS推流录屏或直播?
  20. uebs游戏_UEBS Ultimate Epic Battle电脑版

热门文章

  1. 胡伟 | 面向多实体人机协作消解的对比表生成自动化方法
  2. pkuseg-python的postag.zip在不能联网的服务器上的解决办法
  3. urllib.request.urlopen(req).read().decode解析http报文报“‘utf-8‘ codec can‘t decode”错处理
  4. 好久没玩laravel了,5.6玩下(三)
  5. QMap与QHash
  6. 2017-2018-1 20155338 《信息安全系统设计基础》第七周学习总结
  7. Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )...
  8. cut命令详解(转)
  9. 领域模型中的各种角色
  10. 【计算机网络复习】1.1.4 时延、时延带宽积、RRT和利用率