만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

n단 논법

면접 대비

시간 제한2초메모리 제한128 MB

요약
각 전제는 모든 a가 b임을 뜻한다. 결론 x is y마다 x에서 함의 사슬을 따라 y에 도달하는지 판정한다.
난이도

보통10점 중 4점

유형
그래프, DFS, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

모든 사람은 죽는다.

소크라테스는 사람이다.

그러므로 소크라테스는 죽는다.

위 논증은 삼단논법의 대표적인 예다. 삼단논법은 전제 두 개와 결론 하나로 이루어진 연역 논증이다. 전제가 두 개보다 많아도 같은 방식으로 결론을 이끌어낸다.

전제는 모두 a is b 형식이고 "모든 a는 b이다"를 뜻한다. 전제 nn개가 주어질 때 결론 mm개가 각각 참인지 판정하는 프로그램을 작성하라. 결론 x is y는 전제를 이어 붙여 x에서 y로 도달할 때 참이다. 예를 들어 a is b와 b is c가 전제로 주어지면 a is c는 참이다.

입력

첫째 줄에 정수 nn (2≤n≤262 \le n \le 26)이 주어진다.

둘째 줄부터 nn개의 줄에 전제가 한 줄에 하나씩 주어진다. 전제는 모두 a is b 형식이고, a와 b는 서로 다른 알파벳 소문자다. 전제 a is b는 "모든 a는 b이다"라는 뜻이며 "모든 b는 a이다"라는 뜻은 아니다. 한 문자가 두 전제의 주어로 나오는 일은 없다. 즉 a가 b이면서 동시에 c일 수는 없다. 반면 서로 다른 a와 b가 함께 c인 것은 가능하다.

n+2n + 2번째 줄에 정수 mm (1≤m≤101 \le m \le 10)이 주어진다. 이어지는 mm개의 줄에 결론이 전제와 같은 형식으로 한 줄에 하나씩 주어진다.

출력

mm개의 줄에 각 결론이 참이면 T를, 거짓이면 F를 출력한다. 참인지 알 수 없는 결론도 거짓으로 본다. 답은 반드시 대문자로 출력한다.

예제2

  1. 예제 1

    입력
    3
    a is b
    b is c
    c is d
    3
    a is d
    a is c
    d is a
    
    예상 출력
    T
    T
    F
    
  2. 예제 2

    입력
    2
    a is b
    c is d
    3
    a is b
    a is d
    d is c
    
    예상 출력
    T
    F
    F