이 문장은 거짓이다
면접 대비시간 제한1초메모리 제한128 MB
각 문장이 다른 문장의 참 또는 거짓을 주장할 때, 일관된 진리 할당이 존재하는지 판정하고 존재하면 참인 문장 수의 최댓값을 구한다.
문제
제온 2.4 왕의 궁정은 음모와 계략으로 가득합니다. 왕의 비밀 정보국이 최근 입수한 문서 하나가 어떤 불온한 계획의 일부로 의심받고 있습니다. 이 문서는 서로의 참·거짓을 언급하는 문장들의 집합일 뿐입니다. 각 문장은 “Sentence X is true.”(X번 문장은 참이다) 또는 “Sentence X is false.”(X번 문장은 거짓이다)의 형태이며, 여기서 X는 집합 안의 한 문장을 가리킵니다(자기 자신을 가리킬 수도 있습니다). 정보국은 이 문장들이 실제로는 아직 발견되지 않은 또 다른 문서를 가리킨다고 의심합니다.
각 문장에는 참 또는 거짓 값을 부여할 수 있습니다. 어떤 값 배정이 유효하다는 것은, 모든 문장에 대해 그 문장이 참인 것과 그 문장이 주장하는 내용(즉 X번 문장의 참·거짓)이 실제로 성립하는 것이 정확히 일치함을 뜻합니다.
주어진 문장 집합이 모순 없이 성립하는지, 즉 유효한 값 배정이 존재하는지 판정하세요. 존재한다면, 유효한 배정에서 참으로 만들 수 있는 문장의 최대 개수를 구하세요.
입력
입력은 여러 개의 문서로 이루어집니다. 각 문서는 그 문서에 포함된 문장의 개수 을 담은 한 줄로 시작합니다(). 이어지는 개의 줄에는 각각 하나의 문장이 있습니다. 문장은 입력에 나타나는 순서대로 1번부터 차례로 번호가 매겨집니다(첫 번째가 1번 문장, 두 번째가 2번 문장, 이런 식입니다). 각 문장은 “Sentence X is true.” 또는 “Sentence X is false.”의 형태이며 입니다. 인 줄은 입력의 끝을 나타냅니다.
출력
각 문서마다 한 줄을 출력합니다. 문서가 모순 없이 성립하면 유효한 배정에서 참으로 만들 수 있는 문장의 최대 개수를 출력합니다. 그렇지 않으면 ‘Inconsistent’를 출력합니다.