#include
int a[1000][1000];//想开大的数组,可以用动态分配。定态数组,作为全局量可以开得大.
int main() //若放到 main(){} 里,就是局部量,就不能用这么多单元了,会报错1000*1000的数组
{
int M,N,TOL;
while(1)
{
scanf("%d %d %d",&M,&N,&TOL);
getchar();
if(M<=1000&&N<=1000)break;
}
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
{
scanf("%d",&a[i][j]);
getchar();
}
int flag=0;int x,y;
for(int i=2;i for(int j=2;j {
if((a[i][j]-a[i-1][j-1]>TOL)&&(a[i][j]-a[i-1][j]>TOL)&&(a[i][j]-a[i-1][j+1]>TOL))
if((a[i][j]-a[i][j-1]>TOL)&&(a[i][j]-a[i][j+1]>TOL))
if((a[i][j]-a[i+1][j-1]>TOL)&&(a[i][j]-a[i+1][j]>TOL)&&(a[i][j]-a[i+1][j+1]>TOL))
{
flag++;
x=i;y=j;
}
}
if(flag==1)
printf("(%d, %d): %d",y,x,a[x][y]);
else if(flag>1)
printf("Not Unique");
else
printf("Not Exist");
return 0;
}
https://www.patest.cn/contests/pat-b-practise/1068 这是题目链接
你把数组a[][]设置成a[2000][2000]试试
栈的内存大小有限啊;你放在main函数里面,系统为它分配的内存是在栈上分配的