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

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

输入格式:

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

输出格式:

在一行中按照 (x, y): color 的格式输出所求像素点的位置以及颜色值,其中位置 xy 分别是该像素在图像矩阵中的列、行编号(从 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 m, n, tol;
vector<vector<int>> vec;
int dir[8][2] = { {-1,-1},{ -1, 0 },{ -1, 1 },{ 0, 1 },{ 1, 1 },{ 1, 0 },{ 1, -1 },{ 0, -1 } };bool judge(int i, int j) {for (int k = 0; k < 8; k++) {int tx = i + dir[k][0];int ty = j + dir[k][1];if (tx >= 0 && tx < n && ty >= 0 && ty < m && abs(vec[i][j] - vec[tx][ty]) <= tol)return false;}return true;
}
int main()
{int cnt = 0, x = 0, y = 0;cin >> m >> n >> tol;vec.resize(n, vector<int>(m));map<int, int> mapp;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {getchar();cin >> vec[i][j];mapp[vec[i][j]]++;}}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (mapp[vec[i][j]] == 1 && judge(i, j) == true) {cnt++;x = i + 1;y = j + 1;}}}if (cnt == 1)printf("(%d, %d): %d", y, x, vec[x - 1][y - 1]);else if (cnt == 0)printf("Not Exist");elseprintf("Not Unique");return 0;
}

PAT --- 1068.万绿丛中一点红 (20 分)相关推荐

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

    1068 万绿丛中一点红 (20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点 ...

  2. Python PAT乙级 1068 万绿丛中一点红 (20分) 成功

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

  3. 【PAT乙级】1068 万绿丛中一点红 (20 分)

    题目地址 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> ...

  4. 【简便解法】1068 万绿丛中一点红 (20分)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中 ...

  5. PAT 1068. 万绿丛中一点红(20)-乙级

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

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

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

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

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

  8. PAT乙级_1068 万绿丛中一点红 (20 分)_python

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

  9. 1068 万绿丛中一点红(20 分)----(一点红,全是绿.)

    1068 万绿丛中一点红(20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的 ...

  10. PAT 乙级 1068  万绿丛中一点红

    1068 万绿丛中一点红 (20 point(s)) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像 ...

最新文章

  1. 【Python】创建数组[[0]*n]*m与[[0 for _ in range(n)] for _ in range(m)]的区别
  2. 怎么把分开的pdf放在一起_糖和盐混在一起了要怎么分开?| 趣问万物
  3. CELL_TYPE_STRING cannot be resovled or is not a field
  4. 【面试题】一个号称BAT算法题
  5. 键盘视频鼠标(KVM)切换器基础知识
  6. vue: table制作发货单表格并打印
  7. delphi备份Oracle,Oracle数据库自动备份工具(Delphi源码)
  8. PowerBuilder 2018
  9. CSDN Markdown编辑器 图片对齐方式(居中/左对齐/右对齐)及图片大小
  10. 笔记本电脑桌面的计算机图标不见了,笔记本电脑桌面显示没了怎么办呢
  11. 数据分析里面的一些常用指标的特点(最大、最小、平均、中位数、....)
  12. 学习dicom没什么窍门
  13. 服务器编程之路:进无止境(上)
  14. 这5个是不是元宇宙游戏遗珠?
  15. AndroidStudio Launching ‘app‘ Time out 错误
  16. 详细解读:大数据分析的学习
  17. 1.mac解除端口占用
  18. matlab教师考试安排,2018教师资格证考试科目及日程安排
  19. 中国独角兽企业前景预测及投资规划建议报告2022-2028年版
  20. ISCC 2019 杂项High起来!(酷爱音乐的你,在听歌的过程中突然收到音乐发烧友发来的一封神秘的邮件,邮件里什么都没有说,只有一个被损坏的图片。这名歌友到底要向你传达什么信息呢?答案或许就隐藏)

热门文章

  1. 哪些因素决定了CRM客户管理系统的价格?
  2. Office2010打开多个excel文件时,开多个excel而不是同一个切换
  3. 错误:VM5729:1 Blocked script execution in ‘about:blank‘
  4. 8款精致的纯CSS3按钮特效
  5. 电脑从硬盘启动计算机,电脑怎么设置第一启动项为硬盘
  6. [Win32] 实现内存修改器
  7. ireport 循环_iReport制作报表1:iReport Designer的使用
  8. 智齿科技B+轮获投1.5亿,为智能云客服领域最大单笔融资
  9. 气象大数据与预报准确率
  10. 来上海度过的第一个五一,我去了哪些地方?