首页 > 学院 > 开发设计 > 正文

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

2019-11-06 07:00:23
字体:
来源:转载
供稿:网友

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

#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int M,N,TOL;int a[1004][1004];int dx[8]={-1,1,1,0,0,-1,-1,0};int dy[8]={-1,0,0,1,1,0,0,-1};int ansx,ansy,anscnt=0,ans;int isuni[4096][4096];const int key=4096;int islegal(int x,int y){ return x>=1&&y>=1&&x<=M&&y<=N;}int main(){ cin>>M>>N>>TOL; for(int i=1;i<=N;++i) for(int j=1;j<=M;++j){ cin>>a[i][j]; isuni[a[i][j]/key][a[i][j]%key]++; } for(int x=1;x<=N;++x) for(int y=1;y<=M;++y) { int k=0,u=y,v=x,isp=1; while(k<8) { u+=dx[k];v+=dy[k]; if(islegal(u,v)&&abs(a[v][u]-a[x][y])<=TOL)isp=0; ++k; } if(isp&&isuni[a[x][y]/key][a[x][y]%key]==1){ansx=y;ansy=x;anscnt++;ans=a[x][y];} if(anscnt>1) { PRintf("Not Unique/n");return 0; } } if(anscnt==1)printf("(%d, %d): %d",ansx,ansy,ans); else printf("Not Exist"); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表