\documentclass{maratona} \begin{document} \begin{ProblemaAutor}{}{Chuva}{1}{256}{OBI 2019} Está chovendo tanto na Obilândia que algumas goteiras apareceram dentro da casa do prefeito. Uma delas faz a água escorrer verticalmente a partir de um ponto no teto, em uma parede que possui várias prateleiras horizontais. A parede é representada por uma matriz de $N$ linhas e $M$ colunas. O caractere \texttt{.} representa parede seca, o caractere \texttt{\#} representa parte de uma prateleira, e o caractere \texttt{o} representa o ponto inicial do vazamento. Quando a água passa por uma posição livre, ela continua escorrendo para baixo. Se a água encontra uma prateleira logo abaixo, ela também passa a escorrer horizontalmente para a esquerda e para a direita sobre essa prateleira, até poder voltar a escorrer para baixo. Sua tarefa é determinar todas as posições da parede que ficarão molhadas pela água. \Entrada A primeira linha contém dois inteiros $N$ e $M$ ($3 \le N, M \le 500$), respectivamente o número de linhas e de colunas da matriz. As próximas $N$ linhas contêm, cada uma, uma sequência de $M$ caracteres entre \texttt{.}, \texttt{\#} e \texttt{o}, representando a parede no início do vazamento. É garantido que $N$ é ímpar, existe exatamente um caractere \texttt{o} na primeira linha, e não há prateleiras nas linhas ímpares, na primeira coluna nem na última coluna. \Saida Imprima $N$ linhas, cada uma contendo uma sequência de $M$ caracteres, representando a matriz da entrada depois que todas as posições molhadas forem marcadas com o caractere \texttt{o}. \ExemploEntrada \begin{Exemplo} \texttt{9~14} & \texttt{......oooooo..}\\ \texttt{.......o......} & \texttt{.\#\#\#..o\#\#\#\#o\#.}\\ \texttt{.\#\#\#...\#\#\#\#.\#.} & \texttt{.oooooooo..o..}\\ \texttt{..............} & \texttt{.o\#\#\#\#\#\#o..o..}\\ \texttt{..\#\#\#\#\#\#......} & \texttt{ooo.....o.oooo}\\ \texttt{..............} & \texttt{o\#o\#\#\#\#.o.o\#\#o}\\ \texttt{.\#.\#\#\#\#....\#\#.} & \texttt{o.o.ooooooo..o}\\ \texttt{..............} & \texttt{o.o.o\#\#\#\#oo..o}\\ \texttt{.....\#\#\#\#.....} & \texttt{o.o.o....oo..o}\\ \texttt{..............} & \\ \rowcolor{gray!20}\texttt{7~5} & \texttt{ooo..}\\ \rowcolor{gray!20}\texttt{.o...} & \texttt{o\#o..}\\ \rowcolor{gray!20}\texttt{.\#...} & \texttt{o.o..}\\ \rowcolor{gray!20}\texttt{.....} & \texttt{o.o..}\\ \rowcolor{gray!20}\texttt{.....} & \texttt{oooo.}\\ \rowcolor{gray!20}\texttt{.....} & \texttt{oo\#o.}\\ \rowcolor{gray!20}\texttt{..\#..} & \texttt{oo.o.}\\ \rowcolor{gray!20}\texttt{.....} & \\ \texttt{3~3} & \texttt{..o}\\ \texttt{..o} & \texttt{.\#o}\\ \texttt{.\#.} & \texttt{..o}\\ \texttt{...} & \\ \end{Exemplo} \Notas No primeiro exemplo, a água começa no topo, desce até encontrar a primeira prateleira e passa a escorrer para os lados. Ao chegar nas extremidades de uma prateleira, ela volta a descer e pode repetir o mesmo processo em prateleiras mais abaixo. No segundo exemplo, a primeira prateleira desvia a água para a esquerda e para a direita, criando dois caminhos verticais que continuam pela parede. No terceiro exemplo, a prateleira logo abaixo da água permite que ela avance para a direita antes de continuar descendo. Problema adaptado da OBI 2019, Fase 1: \href{https://olimpiada.ic.unicamp.br/pratique/pu/2019/f1/chuva/}{Chuva}. \end{ProblemaAutor} \end{document}