max(A,N)
int n=N;
while(n>0)
for(i=0 i<n;i++)
for(j=0 j<n;j++) //三层循环
//i,j是顶点
r = i;//定义个行移动量
c = j; //定义个列移动量
//上面一条边逻辑
while(c<j+n)
if A[r][c]==0 continue l3;
c++;
c-- //退出后c指针恢复到边界值
//右边的逻辑
while(r<i+n)
if A[r][c]==0 continue l3;
r++;
r--
//下边逻辑
while(c>=j)
if A[r][c]==0 continue l3;
c--;
c++;
while(r>=i)
if A[r][c]==0 continue l3;
r--;
r++;
return n;
n--;