#include <stdio.h>
char board[100][101];
int main() {
freopen("input.txt", "r", stdin);
int T, test_case;
int max;
int dm, dp;
int tmp;
int i, j;
for (T = 0; T < 10; ++T) {
max = 1;
scanf("%d", &test_case);
for (i = 0; i < 100; ++i)
scanf("%s", board[i]);
for (i = 0; i < 100; ++i) {
for (j = 0; j < 100; ++j) {
// 가로 짝수, 홀수
dm = j;
dp = j + 1;
if ((dp < 100) && (board[i][dm]) == board[i][dp]) {
tmp = 2;
while ((dm > 0) && (dp < 99) && (board[i][--dm] == board[i][++dp]))
tmp += 2;
if (max < tmp)
max = tmp;
}
dm = j - 1;
dp = j + 1;
if ((dm >= 0) && (dp < 100) && (board[i][dm]) == board[i][dp]) {
tmp = 3;
while ((dm > 0) && (dp < 99) && (board[i][--dm] == board[i][++dp]))
tmp += 2;
if (max < tmp)
max = tmp;
}
// 세로 짝수, 홀수
dm = i;
dp = i + 1;
if ((dp < 100) && (board[dm][j] == board[dp][j])) {
tmp = 2;
while ((dm > 0) && (dp < 99) && (board[--dm][j] == board[++dp][j]))
tmp += 2;
if (max < tmp)
max = tmp;
}
dm = i - 1;
dp = i + 1;
if ((dm >= 0) && (dp < 100) && (board[dm][j] == board[dp][j]))
{
tmp = 3;
while ((dm > 0) && (dp < 99) && (board[--dm][j] == board[++dp][j]))
tmp += 2;
if (max < tmp)
max = tmp;
}
}
}
printf("#%d %d\n", test_case, max);
}
return 0;
}
댓글