Prev Up Next
Go backward to [3-] Trabalho Laboratorial número 12011, prazo de entrega: de 23 a 30 de Abril de 2001
Go up to Top
Go forward to [5-] Trabalho Laboratorial número 12033, prazo de entrega: de 18 a 28 de Maio de 2001

[4-] Trabalho Laboratorial número 12028, prazo de entrega: de 2 a 20 de Maio de 2001

Considere o seguinte método de codificar um texto: a chave secreta é um inteiro k compreendido entre 0 e 25 (inclusivé); cada letra do texto é "rodada" de k posições para a frente.

Por exemplo, se k=3, a letra "a" é transformada em "d" e a letra "y" em "b". Outro exemplo: se k=25, cada letra é transformada na anterior (sendo "z" transformado em "a"). Ainda outro exemplo: se k=0, a "transformação" é a identidade.

Com vista a tentar decifrar o texto, indicam-se algumas sequências de letras que são impossíveis; por exemplo, em português as sequências "qq" e "rrz" são impossíveis.

Dados Um conjunto de sequências de letras minúsculas impossíveis, terminadas com o caracter "." seguidas de um texto terminado com o caracter ".". Todos os caracteres que não são letras minúsculas nem "." são ignorados no texto; por exemplo, as letras maiúsculas, o caracter " " (espaço) e o caracter "\n" são ignorados. As sequências proibidas são separadas entre si por um ou mais caracteres que não sejam letras minúsculas nem ".".

Resultado Os números, por ordem crescente, de todas as chaves k que não são compatíveis com as proibições dadas. Cada chave é separada da seguinte por 1 (e só um) espaço e nada mais (use, por exemplo "printf("%d ",...)"). Antes da primeira chave e depois da última podem ocorrer espaços ou "\n".

Exemplo Dados:

  PROIBIDOS aa@b.
  TEXTO     zze 
            v.

Resultado:

1 2 6 23
Nota Os seguintes resultados estão errados: "1 2 6 23" e "2 1 6 23" (o primeiro tem um espaço a mais, no segundo os valores não estão ordenados).
Nota Os dados anteriores são equivalentes aos seguintes:
   aa b.zzev.
Nota O espaço total utilizado pelo programa (variáveis simples, vectores...) não ppode ultrapassar 50k bytes. Sabe-se que (i) O texto não excede 500 bytes, (ii) o número de sequências proibidas não ultrapassa 20 e (iii) nenhuma delas excede 20 bytes.

Explicação:

Texto:  zzev
        ----
k=1:    aafw  contém "aa"
k=2:    bbgx  contém "b"
k=6:    ffkb  contém "b"
k=23:   wwbs  contém "b"

Prev Up Next