PTA乙级题 1068. 万绿丛中一点红(20)
【题目链接】
看题目感觉有点复杂,读懂题目意思就好了。
#include<stdio.h>
int main()
{
int m,n,e,i,j,k,l,p,q,x=0,flag
scanf("%d %d %d",&m,&n,&e)
int a[n][m]
for (i=0
{
for (j=0
scanf("%d",&a[i][j])
}
for (i=0
{
for (j=0
{
flag=0
if (i-1>=0)
{
if (a[i][j]-a[i-1][j]<=e&&a[i][j]-a[i-1][j]>=-e)
flag=1
}
if (i+1<n)
{
if (a[i][j]-a[i+1][j]<=e&&a[i][j]-a[i+1][j]>=-e)
flag=1
}
if (j-1>=0)
{
if (a[i][j]-a[i][j-1]<=e&&a[i][j]-a[i][j-1]>=-e)
flag=1
}
if (j+1<m)
{
if (a[i][j]-a[i][j+1]<=e&&a[i][j]-a[i][j+1]>=-e)
flag=1
}
if (i-1>=0&&j-1>=0)
{
if (a[i][j]-a[i-1][j-1]<=e&&a[i][j]-a[i-1][j-1]>=-e)
flag=1
}
if (i-1>=0&&j+1<m)
{
if (a[i][j]-a[i-1][j+1]<=e&&a[i][j]-a[i-1][j+1]>=-e)
flag=1
}
if (i+1<n&&j-1>=0)
{
if (a[i][j]-a[i+1][j-1]<=e&&a[i][j]-a[i+1][j-1]>=-e)
flag=1
}
if (i+1<n&&j+1<m)
{
if (a[i][j]-a[i+1][j+1]<=e&&a[i][j]-a[i+1][j+1]>=-e)
flag=1
}
for (k=0
{
for (l=0
{
if (k==i&&l==j)
continue
if (a[i][j]==a[k][l])
{
flag=1
goto a
}
}
}
a:
if (flag==0)
{
p=i+1
q=j+1
x++
}
}
}
if (x==0)
printf("Not Exist")
else if (x==1)
printf("(%d, %d): %d",q,p,a[p-1][q-1])
else
printf("Not Unique")
return 0
}