PAT 1068 万绿丛中一点红
题目连接:添加链接描述
起初,想着就是麻烦,应该思路挺容易的,结果卡了半天,参考了柳婼柳婼。自己错在看到“独一无二”,就先判断这个像素值与周边8个大小绝对值是否大于阀值,然后在判断这个特殊的像素点与原来记录的像素点是否相等。这样做颠倒了。比如样例1那样(如下图)标黄16711479的是相等的,在继续往下比较发现圈红的16711680也满足周边大于阀值,而此时又与先前标黄的不相等,所以按照原来想法,就会发现找到了两个输出unique而样例输出是一个。
此题,应该是先判断该像素值是否唯一,若唯一在判断与周边差距是否大于阀值。
AC代码
#include<iostream>
#include<map>
#include<cmath>
using namespace std;
int main(){int M,N,TOL;cin>>M>>N>>TOL; map<int,int> pxVal;//下标对应像素值 int px[N+1][M+1],y=0,x=0,color=-1,count=0;for(int i=1;i<=N;i++)for(int j=1;j<=M;j++){cin>>px[i][j];pxVal[px[i][j]]+=1;}for(int i=1;i<=N;i++){for(int j=1;j<=M;j++){if(pxVal[px[i][j]]==1&&abs(px[i-1][j]-px[i][j])>TOL&&abs(px[i-1][j-1]-px[i][j])>TOL&&abs(px[i-1][j+1]-px[i][j])>TOL&&abs(px[i][j-1]-px[i][j])>TOL&&abs(px[i][j+1]-px[i][j])>TOL&&abs(px[i+1][j]-px[i][j])>TOL&&abs(px[i+1][j-1]-px[i][j])>TOL&&abs(px[i+1][j+1]-px[i][j])>TOL){count++;if(count>1) {cout<<"Not Unique"<<endl; return 0;}x=i;y=j;color=px[i][j];}}}if(count==0) cout<<"Not Exist"<<endl;else cout<<"("<<y<<", "<<x<<"): "<<color<<endl;return 0;
}
PAT 1068 万绿丛中一点红相关推荐
- PAT 1068. 万绿丛中一点红(20)-乙级
对于计算机而言,颜色不过是像素点对应的一个24位的数值.现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大. 输入 ...
- PAT 乙级 1068 万绿丛中一点红
1068 万绿丛中一点红 (20 point(s)) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像 ...
- C++学习之路 | PTA乙级—— 1068 万绿丛中一点红 (20 分)(精简)
1068 万绿丛中一点红 (20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点 ...
- 1068 万绿丛中一点红(20 分)----(一点红,全是绿.)
1068 万绿丛中一点红(20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的 ...
- PAT 乙级练习 1068 万绿丛中一点红 - 超级详细的思路讲解
PAT 乙级练习 题解合集 本题链接 题目 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且 ...
- Python PAT乙级 1068 万绿丛中一点红 (20分) 成功
对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你 找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜 色 ...
- 【PAT乙级】1068 万绿丛中一点红 (20 分)
题目地址 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> ...
- 【简便解法】1068 万绿丛中一点红 (20分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中 ...
- PTA乙级 1068 万绿丛中一点红——20分
对于计算机而言,颜色不过是像素点对应的一个24位的数值.现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大. 输入 ...
- 1068 万绿丛中一点红 (C++)
对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充 ...
最新文章
- windows xp系统驱动安装问题
- sqoop 常见错误以及处理方式
- linux 进程相关
- 中国中医药产业未来投资规划与前景风险预测报告2022-2027年版
- 类如何调用自己的私有成员_如何正确地给自己和团队成员贴标签?|衡量团队管理 20 讲视觉笔记 14...
- 使用Chrome的timeline工具分析web应用性能
- 如何帮用户管好云账本?阿里云数据库助力收钱吧 | 甲子光年
- 编写第一个Java程序:helloworld
- 写给自己看的三栏布局的演示
- RDD持久化(缓存)
- HEVC视频转码解决办法
- 怎样使用计算机网络,手机使用电脑网络怎么操作 手机使用电脑网络操作方法...
- oracle 11g duplicate database基于备份复制数据库(二)
- redis数据库正确用法
- HDU 5811 (拓扑排序 LIS)
- 校招 - 行业测评题、图形推理题、逻辑思维面试题,解题技巧汇总
- commander.js使用及源码分析
- 小飞鱼通达二开 解决通达OA数据库服务不能启动的问题(图文)
- HNUCM信息科学与工程学院第二届新生赛——正式赛
- Java真心话大冒险,真心话大冒险源码