2-SAT 만족 가능성 판정
시간 제한1초메모리 제한256 MB
N개 불 변수에 값을 넣어 2리터럴 절 M개를 모두 참으로 만들 수 있는지 판정합니다.
문제
2-SAT은 불리언 변수 이 있을 때 2-CNF 식을 true로 만드는 값을 각 에 정하는 문제다.
2-CNF 식은 같은 형태다. 괄호로 묶은 부분을 절(clause)이라 하고, 절은 변수 두 개를 로 이은 것이다. 는 OR, 는 AND, 은 NOT을 뜻한다.
변수의 개수 과 절의 개수 , 그리고 식 가 주어진다. 식 를 true로 만들 수 있는지 판정하는 프로그램을 작성하시오.
예를 들어 , , 이면 을 false, 를 false, 을 true로 정해서 를 true로 만들 수 있다. 반면 , , 이면 에 어떤 값을 넣어도 는 true가 되지 않는다.
입력
첫째 줄에 변수의 개수 ()과 절의 개수 ()이 주어진다. 둘째 줄부터 개의 줄에 절이 한 개씩 주어진다. 절은 두 정수 와 ()로 이루어진다. 가 양수면 를, 음수면 를 뜻하고, 도 같은 방식으로 읽는다.
출력
첫째 줄에 식 를 true로 만들 수 있으면 1을, 없으면 0을 출력한다.