1068. 万绿丛中一点红(20) PAT 乙级
2017-03-28 10:00
435 查看
传送门
#include<stdio.h> #include<math.h> #include<map> using namespace std; #define MAX_N 1100 //typedef long long ll; int img[MAX_N][MAX_N]; int m,n; int tol; map<int,int> v; bool judge(int i,int j){ if(v[img[i][j]]!=1) return false; //上 if(i>=1) if(abs(img[i][j]-img[i-1][j])<=tol) return false; //下 if(i<=n-2) if(abs(img[i][j]-img[i+1][j])<=tol) return false; //左 if(j>=1) if(abs(img[i][j]-img[i][j-1])<=tol) return false; //右 if(j<=m-2) if(abs(img[i][j]-img[i][j+1])<=tol) return false; //左上 if(i>=1&&j>=1) if(abs(img[i][j]-img[i-1][j-1])<=tol) return false; //右上 if(i>=1&&j<=m-2) if(abs(img[i][j]-img[i-1][j+1])<=tol) return false; //左下 if(i<=n-2&&j>=1) if(abs(img[i][j]-img[i+1][j-1])<=tol) return false; //右下 if(i<=n-2&&j<=m-2) if(abs(img[i][j]-img[i+1][j+1])<=tol) return false; return true; } int main(){ scanf("%d%d%d",&m,&n,&tol); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ scanf("%d",&img[i][j]); v[img[i][j]]++; } } int pos_i,pos_j; int count=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(judge(i,j)){ count++; //printf("%d %d\n",i+1,j+1); pos_i=i; pos_j=j; } } } if(count==0){ printf("Not Exist"); } if(count==1){ printf("(%d, %d): %lld",pos_j+1,pos_i+1,img[pos_i][pos_j]); } if(count>1){ printf("Not Unique"); } //printf("%d",count); }
相关文章推荐
- PAT乙级 1068. 万绿丛中一点红(20)
- PAT乙级 1068. 万绿丛中一点红(20)--pat简单易错细节题
- PAT 1068. 万绿丛中一点红(20)-乙级
- pat 乙级 1068. 万绿丛中一点红(20)
- pat乙级真题 1068. 万绿丛中一点红(20)
- 1068. 万绿丛中一点红(20) PAT乙级真题
- [PAT乙级]1068. 万绿丛中一点红(20)
- PAT 1068. 万绿丛中一点红(20)
- PAT乙级1068. 万绿丛中一点红(20)
- PAT 1068. 万绿丛中一点红(20)
- pat乙级1068. 万绿丛中一点红(20)
- PAT 1068. 万绿丛中一点红(20)
- 1068. 万绿丛中一点红(20) PAT
- PAT Basic 1068. 万绿丛中一点红(20)(C语言实现)
- PAT 1068. 万绿丛中一点红(20)
- 1068. 万绿丛中一点红(20)乙级
- PAT 1068. 万绿丛中一点红(20) --坑点介绍
- 1033. 旧键盘打字(20)-浙大PAT乙级真题
- PAT乙级(Basic Level)真题-1022 挖掘机技术哪家强(20)
- PAT乙级.1002. 写出这个数 (20)