sábado, 14 de fevereiro de 2009

1.6.2 Minesweeper

PC/UVa IDs: 110102/10189, Popularidade: A, Taxa de Sucesso: Alta Nível: 1

Alguma vez você já jogou Minesweeper? Este lindo joguinho vem com um certo sistema operacional cujo nome não se pode lembrar. O objetivo do jogo é encontrar todas as minas que estão localizadas dentro de um campo M × N.

O jogo apresenta um número em um quadrado que diz-lhe quantas minas existem adjacentes ao que quadrado. Cada quadrado tem, no máximo, oito praças adjacentes. O campo 4 × 4 da esquerda contém duas minas, cada um representado por um asterisco "*". Se o mesmo campo que nós representamos pela dica números descritos acima, acabamos com o campo da direita:

*...
....
.*..
....

*100
2210
1*10
1110

Entrada

A entrada será constituída por um número arbitrário de campos. A primeira linha de cada campo contém dois inteiros n e m (0 < n, m ≤ 100) que defendem que o número de linhas e colunas do campo, respectivamente. Cada uma das próximas n linhas contém exatamente m caracteres, que representa o campo. Safe praças são indicadas por "." Mina e praças por "*", ambos sem as aspas. O primeiro campo linha onde n = m = 0 representa o fim da contribuição e não deve ser processado.

Saída

Para cada campo, imprimir a mensagem Campo #x: sozinho em uma linha, onde x representa o número do campo a partir de 1. As próximas n linhas devem conter o campo com o caractere "." substituído pelo número de minas adjacentes a esse quadrado. Deve haver uma linha vazia entre campo saídas.

Exemplo de Entrada

4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0


Exemplo de Saída

Field #1:
*100
2210
1*10
1110
Field #2:
**100
33200
1*100

Nenhum comentário:

Postar um comentário