feat: new graph problems formatted.
This commit is contained in:
85
chuva/chuva.tex
Normal file
85
chuva/chuva.tex
Normal file
@@ -0,0 +1,85 @@
|
||||
\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}
|
||||
Reference in New Issue
Block a user