Por Brazil
Está chovendo tanto na Obilândia que começaram a aparecer goteiras dentro da casa do prefeito. Uma dessas goteiras está fazendo escorrer água verticalmente, a partir de um ponto no teto, numa parede onde há várias prateleiras horizontais. Quando a água bate em uma prateleira, ela começa a escorrer horizontalmente para os dois lados, direita e esquerda, até as extremidades da prateleira, quando volta a escorrer verticalmente. Vamos representar a parede por uma matriz de N linhas e M colunas de caracteres, como mostrado ao lado. As prateleiras serão representadas por “#” e a parede por “.”. Só existem prateleiras nas linhas pares e elas nunca encostam na borda da parede. Há apenas um ponto de vazamento representado pelo caractere “o” na primeira linha.
Para deixar mais rigorosa a forma como a água vai escorrer, seja c(i, j) o caractere na linha i coluna j. Se c(i, j)= “.”, então ele deve virar “o” sempre que:
• c(i − 1, j)= “o”; ou
• c(i, j − 1)= “o” e c(i + 1, j − 1)= “#”; ou
• c(i, j + 1)= “o” e c(i + 1, j + 1)= “#”.
Neste problema, dada a matriz representando a parede no início do vazamento, seu programa deve imprimir na saída uma matriz representando a parede usando o caractere “o” exatamente nas posições que serão molhadas pelo vazamento, como ilustrado acima.
A primeira linha da entrada contém dois inteiros N (3 ≤ N ≤ 500) e M(3 ≤ M ≤ 500), respectivamente o número de linhas e colunas da matriz. As N linhas seguintes da entrada contêm, cada uma, uma sequência de M caracteres entre três possíveis: “.”, “#” ou “o”.
• O número de linhas N é ímpar;
• Há exatamente um caractere “o” na primeira linha;
• As linhas ímpares, a primeira coluna e a última coluna não possuem o caractere “#”.
Seu programa deve imprimir N linhas, cada uma contendo uma sequência de M caracteres, representando a matriz da entrada usando o caractere “o” exatamente nas posições que serão molhadas pelo vazamento.
Exemplos de Entrada | Exemplos de Saída |
9 14 .......o...... .###...####.#. .............. ..######...... .............. .#.####....##. .............. .....####..... .............. |
......oooooo.. .###..o####o#. .oooooooo..o.. .o######o..o.. ooo.....o.oooo o#o####.o.o##o o.o.ooooooo..o o.o.o####oo..o o.o.o....oo..o |
7 5 .o... .#... ..... ..... ..... ..#.. ..... |
ooo.. o#o.. o.o.. o.o.. oooo. oo#o. oo.o. |
3 3 ..o .#. ... |
..o .#o ..o |