// Run time: 0.000
#include <stdio.h>
#define N 100
char str[N][N+1];
int arr[N][N];
int main()
{
int i, j;
int row, col;
int cnt = 0;
bool s = false;
while (scanf("%d%d", &row, &col))
{
if (!row && !col) break;
getchar();
for ( i = 0; i < row; i++)
gets(str[i]);
for ( i = 0; i < row; i++)
for ( j = 0; j < col; j++)
arr[i][j] = 0;
for ( i = 0; i < row; i++)
{
for ( j = 0; j < col; j++)
{
if (str[i][j] == '*')
{
if (i >= 1)
{
if (j >= 1) arr[i-1][j-1]++;
arr[i-1][j]++;
if (j < col-1) arr[i-1][j+1]++;
}
if (j >= 1) arr[i][j-1]++;
if (j < col-1) arr[i][j+1]++;
if (i < row-1)
{
if (j >= 1) arr[i+1][j-1]++;
arr[i+1][j]++;
if (j < col-1) arr[i+1][j+1]++;
}
}
}
}
if (s)
printf("\n");
s = true;
printf("Field #%d:\n", ++cnt);
for ( i = 0; i < row; i++)
{
for ( j = 0; j < col; j++)
{
if (str[i][j] == '*')
putchar('*');
else
printf("%d", arr[i][j]);
}
printf("\n");
}
}
}
2009年2月24日 星期二
Q10189: Minesweeper
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言