본문 바로가기
Algorithm

[NP/3-SAT완전] 백준 17903 Counting Clauses - 파이썬(Python)

by jangThang 2022. 10. 14.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    17903번: Counting Clauses

    The input is a single instance of the 3-SAT problem. The first line is two space-separated integers: m (1 ≤ m ≤ 20), the number of clauses and n (3 ≤ n ≤ 20), the number of variables. Then m clauses follow, one clause per line. Each clause consists

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     3항인 SAT(Satisfiability problem, 충족 가능성 문제)입니다. 즉, 해당 논리식이 참이 되는 변수값이 존재하는지를 찾는 문제입니다. 해당 문제는 NP-완전문제로, 복잡도가 상당히 높은 문제입니다.

     당연히 NP-완전을 해결하라는 문제는 아니죠. 

     

     다음과 같은 순서로 x1, x2, x3의 입력이 주어집니다. x1, x2, x3의 부호 조합은 총 8가지입니다.

    (+, +, +), (-,+,+), ...

     그러므로 입력 절이 8개 이상이 되면, 무조건 참이 되는 충족조건을 알 수 있습니다.

     

     

     

    3. 코드

    # 입력
    m, n = map(int, input().split())
    print("satisfactory" if m >= 8 else "unsatisfactory")

     

     

    star가 되고나서 Tistory

    반응형

    댓글