2016,enjoy my coding life~!
int main()
{
int n, m;
int i, j,k,l,count,kase=0;
char c;
bool isSquare,isFound;
while (~scanf("%d%d", &n,&m)){
getchar();
isFound = false;
if (kase != 0) {
printf("\n**********************************\n\n");
}
kase++;
memset(h, 0, sizeof(h));
memset(v, 0, sizeof(v));
for (k = 0; k < m; k++){
scanf("%c %d %d", &c, &i, &j);
getchar();
switch (c){
case 'H':
h[i][j] = 1;
break;
case 'V':
v[j][i] = 1;
break;
}
}
printf("Problem #%d\n\n", kase);
for (k = 1; k <= n; k++){
count = 0;
for (i = 1; i < n - k + 1; i++){
for (j = 1; j < n - k + 1; j++){
isSquare = true;
for (l = 0; l < k; l++){
if (h[i][j + l] != 1 || h[i + k][j + l] != 1 || v[i + l][j] != 1 || v[i + l][j + k] != 1){
isSquare = false;
break;
}
}
if (isSquare){
count++;
}
}
}
if (count != 0){
printf("%d square (s) of size %d\n", count, k);
isFound = true;
}
}
if (!isFound){
printf("No completed squares can be found.\n");
}
}
return 0;
}