Os telemóveis modernos ajudam a compor mensagens SMS “inteligentes”. Em vez de escrevermos as palavras exactamente, o que é um bocado fastidioso, pois para representar algumas letras é preciso repetir a mesma tecla várias vezes (por exemplo, para escrever “r” temos de carregar três vezes na tecla “7”), escrevemos “inteligentemente”, algarismo a algarismo. O telemóvel contém uma lista de palavras e perante cada sequência de algarismos, escolhe, de entre essas palavras, a primeira que é compatível com a sequência de algarismos introduzida.
Vejamos um exemplo: suponhamos que o utilizador quer escrever a palavra “luz”. Sem as SMS inteligentes, isto é, em modo básico, teclaria “555889999”. Em modo inteligente bastaria “589”. Com efeito, o “5” pode significar “l”, “k” ou “j”; o “8” pode significar “t”, “u” ou “v”; o “9” pode significar “w”, “x”, “y” ou “z”. Logo, ao todo, a sequência “589” pode representar 3*3*4 = 48 palavras: “ltw”, “ltx”, ..., “luz”, ..., “jvz”. Sendo “luz” a única destas 48 palavras que está na lista, o telemóvel traduz “589” por “luz”.
A parte aborrecida das SMS inteligentes surge quando queremos escrever uma palavra que não existe. Por exemplo, no meu telemóvel, se eu quiser escrever “obg” (abreviatura de “obrigado”), teclando em modo básico “666224”, obtenho “monach”, que não tem nada a ver com o que eu pretendia. Ora como a palavra “monach” até nem existe, o telemóvel bem podia perceber que afinal eu queria mesmo “obg”.
Pois bem, a sua missão neste problema é escrever um programa para traduzir “inteligentemente” as palavras digitadas pelo utilizador no teclado do telemóvel, de acordo com as seguintes regras, que são mais inteligentes do que as regras habituais:
Escreva um programa para traduzir uma mensagem de telemóvel de acordo com as regras anteriores. A mensagem é uma cadeia de caracteres formada por algarismos de “1” a “9”, não começa por “1” e termina sempre por pelo menos um “1”. Esta última sequência de “1” deve ser traduzida não por um espaço mas sim por um ponto “.”.
Na primeira linha vem um número inteiro N, que representa o número de palavras na lista de palavras do telemóvel (0 <= N <= 30000). Nas N linhas seguintes vêm, por ordem alfabética, uma em cada linha, as palavras que fazem parte dessa lista. Todas as palavras são escritas só com letras minúsculas, sem acentos ou cedilhas, e uma palavra não tem mais que 30 letras.
Segue-se uma linha com um número inteiro M (1 <= M <= 1000), que representa o número de mensagens a traduzir. Nas M linhas seguintes vêm essas mensagens, uma em cada linha. Cada mensagem não tem mais do que 1024 caracteres.
6 enunciado informatica nacionais olimpiadas ter ver 3 65467423271463676284221 837113686242361 666551831223361
olimpiadas informatica. ver enunciado. ok td bem.