Problema do dicionário de sinônimos
Contents
Dificuldade única
Segundo o dicionário Larousse, sinônimo é aquilo "que ou o que tem a mesma significação, ou quase idêntica".
Sua tarefa é construir um programa para identificar se uma palavra é sinônima de outra. Para executá-la, você receberá um dicionário de sinônimos e deve interpretá-lo considerando a seguinte definição:
- Se A é sinônimo de B, B é sinônimo de A.
- Sendo A, B e C palavras, se A é sinônimo de B e B é sinônimo de C então A é sinônimo de C.
A entrada do programa será composta por um inteiro N (1<=N<=100) e N definições de sinônimo, uma por linha, sendo que cada linha terá o formato:
palavra: palavra_sinonimo
Ou seja, uma palavra, seguida de dois pontos um espaço e a palavra sinônimo. Por exemplo:
inocente: ingênuo
Após entrar com N e o dicionário, o usuário informará no mesmo formato acima uma expressão que deve ser avaliada como verdade, caso com base no dicionário e na regra descrita, as palavras informadas sejam sinônimas ou falso caso contrário.
Se a expressão for avaliada como verdade, o programa deve retornar uma linha com o caractere "V", caso seja falsa ou quando no mínimo uma das palavras informadas pelo usuário não esteja no dicionário de sinônimos a resposta do sistema deverá ser "F".
Exemplo 1
Entrada
2 inocente: ingênuo ingênuo: simples inocente: ingênuo
Saída
V
Exemplo 2
Entrada
2 inocente: ingênuo ingênuo: simples inocente: simples
Saída
V
Exemplo 3
Entrada
2 inocente: ingênuo ingênuo: simples simples: inocente
Saída
V
Exemplo 4
Entrada
3 inocente: ingênuo ingênuo: simples contagiar: contaminar simples: contaminar
Saída
F
Exemplo 5
Entrada
2 inocente: ingênuo ingênuo: simples simples: puro
Saída
F