feat: new problem formatted

This commit is contained in:
2026-06-25 19:56:11 -03:00
parent bd94e27fad
commit 10ac9a7b32
63 changed files with 567453 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
Beto finalmente conseguiu o número do telefone de Ana, mas percebeu que está sem créditos para enviar um SMS diretamente! Por sorte, ele e seus amigos bolaram um esquema: eles vão repassar a mensagem de celular em celular utilizando Bluetooth, até que ela chegue ao destino.
A rede de amigos de Beto é formada por $n$ pessoas e $m$ conexões de proximidade. Como a bateria dos celulares está acabando e cada envio consome um pouco de energia, a mensagem deve ser repassada pelo menor número possível de pessoas.
Sua tarefa é descobrir se é possível que o SMS de Beto chegue até Ana e, se for possível, qual é o número mínimo de aparelhos (incluindo o de Beto e o de Ana) por onde a mensagem precisará passar.

5
sms/statement/input.tex Normal file
View File

@@ -0,0 +1,5 @@
A primeira linha da entrada contém dois inteiros $n$ e $m$ ($2 \le n \le 10^5, 1 \le m \le 2 \cdot 10^5$), indicando o número de pessoas na rede de amigos e o número de conexões de proximidade possíveis. As pessoas são numeradas de $1$ a $n$. Beto é a pessoa de número $1$ e Ana é a pessoa de número $n$.
As próximas $m$ linhas descrevem as conexões. Cada linha contém dois inteiros $a$ e $b$ ($1 \le a, b \le n, a \neq b$), indicando que há uma conexão de proximidade entre a pessoa $a$ e a pessoa $b$, permitindo a troca de mensagens Bluetooth.
É garantido que todas as conexões são bidirecionais e existe no máximo uma conexão entre qualquer par de pessoas.

10
sms/statement/notes.tex Normal file
View File

@@ -0,0 +1,10 @@
\vspace{0.5cm}
O primeiro caso de teste pode ser visualizado como o grafo representado abaixo, onde o vértice com a seta vermelha representa Beto e o vértice com a seta azul representa Ana.
\begin{figure}[h]
\centering
\includegraphics[width=1\textwidth]{image.png}
\end{figure}
\vspace{0.5cm}

3
sms/statement/output.tex Normal file
View File

@@ -0,0 +1,3 @@
Se for possível que o SMS chegue até Ana, primeiro imprima $k$: o número mínimo de pessoas em uma rota válida. Depois disso, imprima um exemplo dessa rota com $k$ inteiros. Você pode imprimir qualquer rota válida com tamanho $k$.
Se não for possível encontrar nenhuma rota, imprima \texttt{-1}.

View File

View File

@@ -0,0 +1,9 @@
O problema pede o caminho mais curto (em número de arestas) entre o vértice $1$ e o vértice $n$ em um grafo não direcionado sem pesos.
Isso pode ser resolvido utilizando uma Busca em Largura (BFS). Durante a BFS, podemos armazenar não apenas a distância até cada vértice, mas também qual foi o vértice anterior (o "pai") no caminho mais curto.
Se ao final da BFS o vértice $n$ não foi visitado, não há rota possível. Caso contrário, podemos reconstruir o caminho mais curto partindo de $n$ e seguindo os "pais" até chegar em $1$. A rota reconstruída deve ser invertida antes de ser impressa.
\textbf{Complexidade de tempo:} $O(n + m)$
\textbf{Complexidade de espaço:} $O(n + m)$