feat: new graph problems formatted.
This commit is contained in:
34
chuva/chuva-tutorial.tex
Normal file
34
chuva/chuva-tutorial.tex
Normal file
@@ -0,0 +1,34 @@
|
||||
\documentclass[10pt]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath,amsthm,amssymb}
|
||||
\usepackage{fullpage}
|
||||
\usepackage{url}
|
||||
\pagenumbering{gobble}
|
||||
\usepackage{hyperref}
|
||||
|
||||
\title{ Tutorial: Chuva}
|
||||
\author{OBI 2019}
|
||||
\date{}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
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.
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user