
물리학자들이 "블랙박스" 안에 숨어 있는 원자의 위치를 알아내려고 합니다. 상자 경계의 출입구로 레이저 빔을 쏜 뒤, 각 빔이 어느 출입구로 빠져나오는지(또는 흡수되어 나오지 않는지)를 기록합니다. 이 실험 기록으로부터 원자의 위치를 복원하는 것이 목표입니다.
상자는 N×N 크기의 평면 격자이며 N=8입니다. 상자 안에는 정확히 K=5개의 원자가 숨어 있습니다. "테두리 금지" 규칙에 따라 원자는 가운데의 (N−2)2=36개 칸(안쪽 6×6 영역)에만 놓일 수 있고, 두 원자가 같은 칸을 차지할 수는 없습니다.
경계에는 4N=32개의 출입구가 있으며 0번부터 31번까지 번호가 매겨져 있습니다. 번호는 왼쪽 위 모서리에서 시작해 반시계 방향으로 붙습니다.
빔은 직선으로 나아가며 다음 규칙을 따릅니다.
첫 줄에는 실험의 개수를 나타내는 정수 e (0<e≤32)가 주어집니다. 이어지는 e개의 줄에는 각각 두 정수 i와 o가 주어집니다. i는 빔이 상자로 들어간 출입구 번호이고, o는 빔이 빠져나온 출입구 번호이거나, 빔이 흡수된 경우 −1입니다.
실험 결과로 원자의 위치가 유일하게 결정되면, 상자를 N줄에 걸쳐 각 줄 N개의 문자로 출력합니다. 원자가 있는 칸은 +, 빈 칸은 -로 나타냅니다. 그렇지 않으면 한 줄에 NO를 출력합니다. 실험이 모순되거나(모든 실험을 만족하는 원자 배치가 존재하지 않음) 결정적이지 않은(조건을 만족하는 서로 다른 배치가 여럿 존재함) 경우 모두 NO가 정답입니다.