Em Portugal, é frequente as
pessoas terem quatro, cinco, ou mesmo mais palavras no seu nome. E ainda há as
partículas "de", "dos", etc. Normalmente os pais, ao baptizarem os seus filhos
não se preocupam com isso, mas é claro que pode acontecer que as letras
iniciais das palavras do nome formem uma palavra portuguesa, caso em que essa
palavras se pode tornar numa alcunha. Imagine a Rita Inês Costa Almeida. Ela
será a Rica, mesmo que provenha de uma família menos abastada.
O caso da Rita Inês não é muito
grave mas veja o do Paulo Alberto Rodrigues Vieira Onofre. As iniciais formam
"parvo". Convenhamos que é desagradável e ninguém gostaria de se chamar assim,
suponho.
Como estes casos podem passar
despercebidos, o que faz falta é um programa para trabalhar nas conservatórias
do registo civil, detectando os nomes cujas iniciais formam alcunhas
potencialmente desagradáveis.
A sua tarefa é escrever um
programa para determinar os nomes indesejáveis de entre uma lista nomes, dado
um dicionário com palavras de referência. Um nome é indesejável se as iniciais
das palavras que compõem o nome formarem uma palavra das que pertencem ao
no dicionário. Para efeitos deste problema as partículas "de", "da", "do",
"das", "dos" e "e" são processados como as outras palavras do nome. Por
exemplo, Luís Eduardo Rodrigues de Oliveira dá "lerdo" Outro exemplo: Olívia
Noémia Tavares e Melo dá "ontem".
O dicionário e os nomes a
analisar vêm num ficheiro, acessível através do standard input. A primeira
linha do ficheiro contém um número inteiro, N, representando o número de
palavras do dicionário, 0 <= N <= 1000. As N linhas
seguintes contêm as palavras do dicionário, uma em cada linha. Cada uma dessas
palavras tem no máximo 30 letras. Seguem-se os nomes, um por linha, até ao fim
do ficheiro. Os nomes são formados por pelo menos duas palavras e por não mais
de dez palavras, separadas por um espaço. O número máximo de caracteres em cada
nome, incluindo os espaços, é 110. Todas as palavras do ficheiro, tanto as do
dicionário como as dos nomes, só usam letras minúsculas sem acentos ou cedilhas.
O número de nomes é desconhecido, mas sabemos, garantidamente, que entre esses
nomes não há mais do que 500 nomes indesejáveis.
O ficheiro de saída, disponível
no standard output, contém uma linha para cada nome indesejável. Nessa
linha, primeiro vem a palavra soletrada pelas iniciais do nome, depois um sinal
de igual "=" e depois o nome. Este sinal de "=" vem separado da última letra da
palavra soletrada e da primeira letra do nome por um espaço. O ficheiro de
saída deve vir ordenado por ordem alfabética das palavras soletradas e, em caso
de empate, por ordem alfabética dos nomes.
8 ontem parvo isto e um exemplo de dicionario luis eduardo rodrigues de oliveira olivia noemia tavares e melo paulo alberto rodrigues vieira onofre
ontem = olivia noemia tavares e melo parvo = paulo alberto rodrigues vieira onofre