암호 해독
시간 제한2초메모리 제한512 MB
N개 수의 배열에 대한 M개의 구간 XOR 조건이 주어질 때, 모든 조건을 만족하는 배열을 하나 찾거나 불가능하면 -1을 출력한다.
문제
준기는 ()개의 수로 이루어진 수열을 암호화하는 새로운 규칙을 발명했다. 준기의 암호화는 ()개의 단서로 구성된다.
번째 단서는 (, )의 세 가지 값으로 이루어져 있는데, 이는 준기가 가진 수열에서 번째 수부터 번째 수까지를 전부 bitwise XOR한 값이 라는 뜻이다.
승원은 준기의 암호화 규칙을 듣고 주어진 규칙을 만족하는 개의 수를 복구하는 방법을 찾으려 했지만 결국 실패하고 말았다. 승원을 도와 준기의 암호화 규칙이 주어졌을 때 주어진 규칙을 만족하는 개의 수를 출력하는 프로그램을 작성해 보자.
입력
첫 줄에 이 공백으로 구분되어 주어진다().
둘째 줄부터 줄에 걸쳐 (, )가 공백으로 구분되어 주어진다. 이는 각각 배열에서 번째 수부터 번째 수까지를 bitwise XOR한 값이 라는 뜻이다.
출력
주어진 개의 규칙을 모두 만족하는 개의 수를 공백으로 구분하여 출력한다. 결과 배열을 구성하는 수는 이상 이하의 수여야 한다. 조건을 만족하는 수열이 여러 가지라면 아무거나 출력한다. 만약 조건을 모두 만족하는 수열이 존재하지 않는다면 을 출력한다.