解题思路:
注意事项:
参考代码:
#include<stdio.h> int caochan[200][200]; int isSqure(int i,int j,int size,int R,int C) { //返回1代表是正方形,0不是 for(int h=i;h<i+size;++h) { for(int z=j;z<j+size;++z) { if(h>R-1||z>C-1) return 0; if(caochan[h][z]!=caochan[i][j]) return 0; } } return 1; } int main() { int R,C; scanf("%d %d",&R,&C); for(int i=0;i<R;++i) { for(int j=0;j<C;++j) { scanf("%d",&caochan[i][j]); } } for(int size=R>C?R:C;size>1;--size) { for(int i=0;i<R-size+1;++i) { for(int j=0;j<C-size+1;++j) { // if(i>R-1||z>C-1) // continue; if(isSqure(i,j,size,R,C)) { printf("%d\n",size*size); return 0; } } } } printf("1"); return 0; }
0.0分
1 人评分