PTA(Basic Level) 1068:万绿丛中一点红(C语言实现)
分析:
这个题做了很久,看了很多文章,最后改出来了。
①测试点3和5是对最上面的题目的考察,即这个点满足“独一无二”且“其像素和周围的点的像素差足够大”。开始读题,一直认为必须要有8个相邻点,做出来这两个测试点都错了。
②像素值应该是long型。
③注意边界,不要越界,出现段错误。
④如果需要分配的数组足够大,最好将其设成全局的,因为局部变量放在栈区(分配不了很大的存储区),全局变量放在静态存储区。
#include<stdio.h>
#include<math.h>
long a[1000][1000]={
0};
int n,m,tol;
int judge(int x,int y)//判断该点的与相邻点的像素差是不是足够大
{
int i;
int row[8]={
-1,-1,-1,0,0,1,1,1};//从左到右从上到小的行坐标差
int col