노노그램은 규칙이 단순하지만 푸는 것은 만만치 않은 논리 퍼즐이다. 칸으로 이루어진 격자판이 주어지고, 각 칸은 검게 칠하거나(1로 적는다) 비워 둔다(0으로 적는다).
각 행의 옆에는 그 행에서 검은 칸이 연속으로 이어진 길이를 순서대로 적어 두었고, 각 열의 위에는 그 열에서 검은 칸이 연속으로 이어진 길이를 순서대로 적어 두었다. 검은 칸을 모두 찾아라.
첫째 줄에 퍼즐의 개수 TC가 주어진다. 퍼즐과 퍼즐 사이에는 빈 줄이 올 수 있다.
각 퍼즐은 격자판의 너비 W와 높이 H를 적은 줄로 시작한다. 두 값은 양의 정수이고 1≤W×H≤20이다. 이어서 빈 줄이 한 줄 오고, 위에서부터 각 행을 설명하는 H개의 줄, 다시 빈 줄 한 줄, 왼쪽부터 각 열을 설명하는 W개의 줄이 차례로 주어진다.
설명하는 줄에는 검은 칸이 연속으로 이어진 길이를 순서대로 쉼표로 구분해 적는다. 빈 줄은 그 행이나 열에 검은 칸이 하나도 없다는 뜻이다.
각 퍼즐마다 H+W개의 설명을 모두 만족하는 격자판이 정확히 하나인지 판별한다.
정확히 하나라면 H개의 줄에 W개의 문자를 출력한다. 검은 칸은 1, 빈 칸은 0으로 적는다. 그렇지 않으면 한 줄에 not unique를 출력한다. 조건을 만족하는 격자판이 하나도 없는 경우도 유일하지 않은 것으로 본다.
연속한 두 퍼즐의 답 사이에는 빈 줄을 하나 출력한다.
아래 그림은 첫 번째 예제를 나타낸 것이다.
