feat(bfs): new problem formated
This commit is contained in:
21
conversor-fonetico-generico/statement/description.tex
Normal file
21
conversor-fonetico-generico/statement/description.tex
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
|
||||
Nos laboratórios secretos de linguística computacional do \textbf{Instituto de Filologia Binária (IFB)}, um grupo de pesquisadores (e estagiários desesperados) finalmente concluiu o desenvolvimento do \textit{Conversor Fonético Genérico} (CFG). Este dispositivo revolucionário, que mais parece uma torradeira antiga com fios coloridos, é capaz de transmutar uma palavra em outra por meio de "mutações linguísticas controladas".
|
||||
|
||||
O CFG, no entanto, opera sob regras quânticas muito estritas:
|
||||
|
||||
\begin{enumerate}
|
||||
\item \textbf{Mutação Única:} Em cada etapa da transformação, \textbf{apenas uma letra} da palavra atual pode ser alterada para uma nova letra.
|
||||
\item \textbf{Validação de Realidade:} A nova palavra gerada pela mutação deve ser "real", ou seja, ela \textbf{deve existir} no vasto (e um tanto pedante) dicionário interno da máquina.
|
||||
\end{enumerate}
|
||||
|
||||
Se uma mutação gerar uma palavra que não está no dicionário (um "blabismo vocabular"), a transformação é rejeitada, o fusível principal do CFG queima, e o processo falha catastroficamente.
|
||||
|
||||
Os pesquisadores querem agora otimizar o processo. Eles não querem qualquer transformação; eles precisam encontrar a \textbf{sequência de transformação mais eficiente} — aquela que usa o menor número possível de palavras para ir da palavra inicial até a palavra final.
|
||||
|
||||
|
||||
Dadas duas palavras, \texttt{inicio} e \texttt{fim} (ambas com o mesmo comprimento), e um dicionário de palavras válidas, determine o \textbf{menor número de palavras} na sequência de transformação que converte \texttt{inicio} em \texttt{fim}, obedecendo às regras de mutação do CFG.
|
||||
|
||||
Note que todas as palavras intermediárias na sequência, bem como a palavra \texttt{fim}, devem existir no dicionário. A palavra \texttt{inicio} não precisa estar no dicionário (ela é o ponto de partida).
|
||||
|
||||
Se não for possível realizar a transformação, o CFG deve retornar $0$.
|
||||
7
conversor-fonetico-generico/statement/input.tex
Normal file
7
conversor-fonetico-generico/statement/input.tex
Normal file
@@ -0,0 +1,7 @@
|
||||
A entrada começa com dois inteiros $n$ e $m$, onde $n$ é o número de palavras disponíveis no dicionário ($1 \leq n \leq 5000$) e
|
||||
$m$ o comprimento de cada palavra ($1 \leq m \leq 10$).
|
||||
|
||||
Na segunda linha há duas palavras: \texttt{inicio} e \texttt{fim}, ambas contendo exatamente $m$ letras minúsculas do alfabeto.
|
||||
|
||||
Após isso, seguem $n$ linhas, cada uma contendo uma palavra de $m$ letras minúsculas, representando as palavras do dicionário interno do CFG.
|
||||
Todas as palavras do dicionário são únicas.
|
||||
13
conversor-fonetico-generico/statement/notes.tex
Normal file
13
conversor-fonetico-generico/statement/notes.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
Caso de Teste 1:
|
||||
Neste caso, queremos transformar "mao" em "sol".
|
||||
|
||||
O dicionário contém palavras intermediárias que permitem mutações válidas alterando apenas uma letra por vez.
|
||||
Uma possível sequência mínima é:
|
||||
|
||||
mao → sao → sal → sol
|
||||
|
||||
A sequência tem 4 palavras no total.
|
||||
|
||||
Caso de Teste 2:
|
||||
Não é possível converter "lata" em "fogo", portanto a resposta é 0.
|
||||
3
conversor-fonetico-generico/statement/output.tex
Normal file
3
conversor-fonetico-generico/statement/output.tex
Normal file
@@ -0,0 +1,3 @@
|
||||
A saída consiste em um único número inteiro: o comprimento da menor sequência de transformação que converte a palavra \texttt{inicio} na palavra \texttt{fim}, seguindo as regras do CFG.
|
||||
|
||||
Se não for possível realizar a transformação, o programa deve imprimir $0$.
|
||||
0
conversor-fonetico-generico/statement/preamble.tex
Normal file
0
conversor-fonetico-generico/statement/preamble.tex
Normal file
0
conversor-fonetico-generico/statement/tutorial.tex
Normal file
0
conversor-fonetico-generico/statement/tutorial.tex
Normal file
Reference in New Issue
Block a user