#include<iostream>
#include<algorithm>
#include<cmath>
#include<math.h>
using namespace std;
long long num[1010][1010];
int main()
{
int m,n,tol,sum=0,x=0,y=0;
cin>>m>>n>>tol;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cin>>num[i][j];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
int num1[8]={0};
if(((i-1)>=0)&&((i-1)<n)&&((j-1)>=0)&&((j-1)<m))
num1[0]=abs(num[i-1][j-1]-num[i][j]);
else
num1[0]=-1;
if(((i-1)>=0)&&((i-1)<n)&&(j>=0)&&(j<m))
num1[1]=abs(num[i-1][j]-num[i][j]);
else
num1[1]=-1;
if(((i-1)>=0)&&((i-1)<n)&&((j+1)>=0)&&((j+1)<m))
num1[2]=abs(num[i-1][j+1]-num[i][j]);
else
num1[2]=-1;
if((i>=0)&&(i<n)&&((j-1)>=0)&&((j-1)<m))
num1[3]=abs(num[i][j-1]-num[i][j]);
else
num1[3]=-1;
if((i>=0)&&(i<n)&&((j+1)>=0)&&((j+1)<m))
num1[4]=abs(num[i][j+1]-num[i][j]);
else
num1[4]=-1;
if(((i+1)>=0)&&((i+1)<n)&&((j-1)>=0)&&((j-1)<m))
num1[5]=abs(num[i+1][j-1]-num[i][j]);
else
num1[5]=-1;
if(((i+1)>=0)&&((i+1)<n)&&(j>=0)&&(j<m))
num1[6]=abs(num[i+1][j]-num[i][j]);
else
num1[6]=-1;
if(((i+1)>=0)&&((i+1)<n)&&((j+1)>=0)&&((j+1)<m))
num1[7]=abs(num[i+1][j+1]-num[i][j]);
else
num1[7]=-1;
bool manzu=false;
for(int z=0;z<8;z++)
{
if(num1[z]==-1)
continue;
else
{
if(num1[z]<=tol)
{
manzu=true;
break;
}
}
}
if(!manzu)
{
int flag=0;
bool faker1=false;
for(int z1=0;z1<m;z1++)
{
for(int z2=0;z2<n;z2++)
{
if(num[z1][z2]==num[i][j]&&z1!=i&&z2!=j)
{
flag=1;
break;
}
}
if(flag==1)
{
faker1=true;
break;
}
}
if(!faker1)
sum++,x=i,y=j;
}
}
}
if(sum==1)
cout<<"("<<y+1<<", "<<x+1<<"): "<<num[x][y]<<endl;
else
{
if(sum>1)
cout<<"Not Unique\n";
else
{
if(sum==0)
cout<<"Not Exist\n";
}
}
return 0;
}
PAT乙级 1068.万绿丛中一点红
猜你喜欢
转载自blog.csdn.net/Ls_attack/article/details/79797901
今日推荐
周排行