15723 n단 논법

정민용·2023년 4월 9일
0

백준

목록 보기
108/286

문제

모든 중앙대 컴퓨터공학부(소프트웨어학부) 학생들은 미인이다.

지무근은 중앙대 컴퓨터공학부 학생이다.

그러므로 지무근은 미인이다.

위 연역 논증은 대표적인 삼단논법의 예시이다. 삼단논법이란 전제 두 개와 결론 하나로 이루어진 연역 논증이다. 이것을 응용하면, n개의 전제가 있을 때 m개의 결론을 도출할 수 있을 것이다. 이때의 n과 m은 모든 의미에서 적절한 수라고 가정하자. 자세한 것은 입출력 예시를 확인하자

# 15723
import sys
input = lambda : sys.stdin.readline().strip()
INF = int(1e9)

n = int(input())
graph = [[INF] * (26) for _ in range(26)]

for _ in range(n):
    syl = list(input().split())
    a, b = ord(syl[0]) - 97, ord(syl[2]) - 97
    graph[a][b] = 1
    
for k in range(26):
    for a in range(26):
        for b in range(26):
            graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])
            
m = int(input())
for _ in range(m):
    input_syl = list(input().split())
    start, end = ord(input_syl[0])- 97, ord(input_syl[2]) - 97
    if graph[start][end] != INF:
        print("T")
    else:
        print("F")

백준 15723 n단 논법

0개의 댓글