77 lines
5.1 KiB
TeX
77 lines
5.1 KiB
TeX
\documentclass{maratona}
|
|
|
|
\begin{document}
|
|
\begin{ProblemaAutor}{}{O Problema dos Pacotes Viajantes}{3}{256}{UVA - 10172}
|
|
|
|
O sistema de entregas automáticas da cidade de Logitown é composto por um anel de estações interligadas. Em cada estação, pequenas encomendas aguardam para serem levadas até seus destinos, que também são outras estações do mesmo anel.
|
|
|
|
Um único carrinho autônomo é responsável por realizar todas as entregas. Ele percorre continuamente as estações em ordem crescente: após visitar a estação $N$, retorna para a estação $1$, repetindo o ciclo até que todas as encomendas tenham sido entregues. No início da operação, o carrinho está vazio e parado na estação $1$.
|
|
|
|
Cada estação possui duas plataformas de operação:
|
|
\begin{itemize}
|
|
\item \textbf{Plataforma A}: recebe as encomendas que chegaram ao seu destino final.
|
|
\item \textbf{Plataforma B}: mantém uma fila de encomendas que ainda precisam ser enviadas para outras estações.
|
|
\end{itemize}
|
|
|
|
O carrinho possui uma pilha interna com capacidade limitada, utilizada para armazenar as encomendas em trânsito. Como se trata de uma pilha, apenas a encomenda localizada no topo pode ser retirada. Ao chegar a uma estação, o carrinho inicia o processo de \textbf{descarregamento}: ele retira do topo da pilha todas as encomendas destinadas àquela estação, uma a uma, depositando-as na plataforma A. Se encontrar uma encomenda destinada a outra estação, ele tenta colocá-la na fila da plataforma B, caso haja espaço disponível. Se a fila estiver cheia, o descarregamento é interrompido.
|
|
|
|
Em seguida, ocorre o \textbf{carregamento}: o carrinho pega, na ordem da fila da plataforma B, as encomendas que aguardam envio e as adiciona ao topo da pilha, até que esta atinja sua capacidade máxima ou a fila fique vazia.
|
|
|
|
Cada operação de carregamento ou descarregamento de uma encomenda leva exatamente $1$ minuto, enquanto o deslocamento entre duas estações consecutivas consome $2$ minutos. O processo continua até que não restem encomendas no carrinho nem em nenhuma das plataformas B.
|
|
|
|
Dado o estado inicial das plataformas, determine o tempo total necessário para que todas as encomendas sejam entregues às suas respectivas estações.
|
|
|
|
\Entrada
|
|
|
|
A primeira linha contém um inteiro $T$ $(1 \le T \le 100)$ indicando o número de conjuntos de teste.
|
|
|
|
Cada conjunto de teste começa com três inteiros $N$, $S$ e $Q$, onde $N$ $(2 \le N \le 100)$ é o número de estações no anel, $S$ $(1 \le S \le 100)$ é a capacidade máxima do carrinho (em encomendas), e $Q$ $(1 \le Q \le 100)$ é a capacidade máxima da fila de cada estação.
|
|
|
|
Em seguida, seguem $N$ linhas. A $i$-ésima linha contém um inteiro $q_i$ $(0 \le q_i \le Q)$ indicando o número de encomendas na fila da estação $i$, seguido de $q_i$ inteiros representando os destinos dessas encomendas $(1 \le \text{destino} \le N, \ \text{destino} \ne i)$, listados da frente para o fim da fila.
|
|
|
|
\Saida
|
|
|
|
Para cada conjunto de teste, deve-se imprimir um único número inteiro representando o total de minutos necessários para que todas as encomendas sejam entregues às plataformas A correspondentes.
|
|
|
|
\ExemploEntrada
|
|
\begin{Exemplo}
|
|
\texttt{1} & \texttt{12}\\
|
|
\texttt{3~2~2} & \\
|
|
\texttt{2~3~2} & \\
|
|
\texttt{1~3} & \\
|
|
\texttt{0} & \\
|
|
\end{Exemplo}
|
|
|
|
|
|
|
|
\Notas
|
|
|
|
Neste caso de teste, o sistema conta com três estações dispostas em anel. O carrinho inicia vazio na estação 1, e cada estação possui capacidade máxima de duas encomendas em sua fila (plataforma B). O objetivo é calcular o tempo total necessário para que todas as encomendas sejam entregues em suas respectivas estações de destino.
|
|
|
|
\textbf{Passo a passo da simulação:}
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Estação 1:} o carrinho carrega as duas encomendas disponíveis na fila B, com destinos 2 e 3. Cada carregamento leva $1$ minuto, totalizando $2$ minutos.
|
|
A pilha do carrinho fica [2, 3] (2 no topo), e a fila B torna-se vazia.
|
|
|
|
\item \textbf{Deslocamento para a estação 2:} o trajeto até a próxima estação consome $2$ minutos.
|
|
\textit{Tempo acumulado: $4$ minutos.}
|
|
|
|
\item \textbf{Estação 2:} o carrinho descarrega a encomenda cujo destino é a própria estação (topo da pilha). Esse descarregamento consome $1$ minuto.
|
|
A pilha agora contém apenas [3]. Como a plataforma B da estação 2 ainda tem espaço para mais uma caixa e há uma caixa na pilha do carrinho, essa caixa é colocada na plataforma B, consumindo $1$ minuto.
|
|
Em seguida, o carrinho carrega duas novas encomendas da fila B, destinadas à estação 3, gastando mais $2$ minuto.
|
|
\textit{Tempo acumulado: $8$ minutos.}
|
|
|
|
\item \textbf{Deslocamento para a estação 3:} o movimento até a próxima estação leva $2$ minutos.
|
|
\textit{Tempo acumulado: $10$ minutos.}
|
|
|
|
\item \textbf{Estação 3:} o carrinho descarrega as duas encomendas destinadas a esta estação, uma de cada vez. Cada descarregamento leva $1$ minuto, somando $2$ minutos.
|
|
\textit{Tempo acumulado: $12$ minutos.}
|
|
|
|
\item Como todas as filas das plataformas B estão vazias e o carrinho encontra-se sem encomendas, o processo é encerrado.
|
|
\end{enumerate}
|
|
|
|
\textbf{Tempo total necessário:} $12$ minutos.
|
|
\end{ProblemaAutor}
|
|
\end{document}
|