보간
시간 제한4초메모리 제한256 MB
서로 다른 m개의 불리언 입력 벡터와 출력이 주어질 때, 모든 값을 만족하는 최대 9000개 항의 Zhegalkin 다항식(XOR-of-AND)을 구성하거나 해가 없으면 -1을 출력한다.
문제
제갈킨 다항식(Zhegalkin polynomial)은 다음과 같이 표현되는 불리언 함수 이다.
[f(x_{1},\dots,x_{n}) = \bigoplus_{S \subseteq {1, 2, \ldots, n}} a_S \cdot \bigwedge_{i \in S} x_i,]
여기서 와 는 각각 XOR과 AND 불리언 연산을 나타내며, XOR은 모든 변수 부분집합에 대해 취해지고, 의 각 부분집합 에 대해 이다.
이 문제에서는 개의 변수 값 집합 과 개의 불리언 값 이 주어진다. 각 에 대해 를 만족하는, 0이 아닌 항이 최대 개인 제갈킨 다항식을 구성해야 한다.
입력
첫째 줄에 두 정수 과 이 주어진다. 이는 변수의 개수와 주어지는 변수 값의 개수이다 ().
다음 개의 줄 각각에는 번째 변수 값 집합을 나타내는 길이 의 문자열( 또는 )과 정수 가 주어진다.
모든 변수 값 집합은 서로 다르며, 적어도 하나의 집합에 대해 임이 보장된다.
출력
다항식은 인 항을 최대 개 포함해야 한다. 그러한 각 항에 대해, 대응하는 변수 부분집합 를 길이 의 문자열( 또는 )로 출력한다. 번째 문자가 이면 이고, 이면 이다. 항은 임의의 순서로 출력해도 되지만, 중복된 부분집합이 있어서는 안 된다.
가능한 답이 여러 개라면 그중 아무거나 출력한다. 해가 존재하지 않으면 을 출력한다.
해가 존재한다면, 인 항 가 최대 개인 해도 존재함이 보장된다.
힌트
첫 번째 예제의 가능한 답 중 하나는 이다.
두 번째 예제에서 는 가능한 답 중 하나이다.