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:
- Sendo A e B palavras não necessariamente distintas, 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 (de até 50 caracteres), seguida de dois pontos um espaço e a palavra sinônimo (também de até 50 caracteres). 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".
Diferenças entre maiúsculas e minúsculas devem ser desconsideradas.
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
Exemplo 6
Entrada
6 a: b b: c b: d b: e b: f b: g a: g
Saída
V
Exemplo 7
Entrada
6 a: e b: c b: d b: e b: f b: g a: g
Saída
V
Exemplo 8
Entrada
7 a: e b: c b: d b: e b: f b: g h: d a: h
Saída
V
Exemplo 9
Entrada
5 a: a b: b c: d d: b b: a a: d
Saída
V
Exemplo 10
Entrada
2 a: b b: a a: b
Saída
V
Exemplo 11
Entrada
2 a: b b: a a: a
Saída
V