feat: new graph problems formatted.
This commit is contained in:
20
chuva/statement/tutorial.tex
Normal file
20
chuva/statement/tutorial.tex
Normal file
@@ -0,0 +1,20 @@
|
||||
Podemos simular diretamente o espalhamento da água. Cada posição molhada gera
|
||||
novas posições molhadas segundo as regras do enunciado:
|
||||
\begin{itemize}
|
||||
\item se a célula imediatamente abaixo está dentro da matriz e é
|
||||
\texttt{.}, ela também fica molhada;
|
||||
\item se existe uma prateleira imediatamente abaixo da posição atual, a água
|
||||
pode se espalhar para a esquerda e para a direita na mesma linha.
|
||||
\end{itemize}
|
||||
|
||||
Para evitar processar a mesma posição várias vezes, sempre que uma célula
|
||||
\texttt{.} fica molhada, trocamos seu caractere para \texttt{o} e a colocamos em
|
||||
uma fila. Enquanto a fila não estiver vazia, removemos uma posição e tentamos
|
||||
aplicar os movimentos descritos acima.
|
||||
|
||||
As prateleiras nunca viram água, portanto células com \texttt{\#} são apenas
|
||||
obstáculos que podem sustentar o espalhamento lateral.
|
||||
|
||||
Como cada célula da matriz é inserida na fila no máximo uma vez, a complexidade
|
||||
de tempo é $O(N \cdot M)$. A matriz e a fila também usam $O(N \cdot M)$ de
|
||||
espaço.
|
||||
Reference in New Issue
Block a user