86 lines
3.3 KiB
TeX
86 lines
3.3 KiB
TeX
\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}
|