메이플스토리의 새로운 지역, "리버스 시티"에서는 마법 타일이 크기의 격자판을 이루고 있다. 각 타일의 앞면에는 빛의 문양, 뒷면에는 어둠의 문양이 새겨져 있으며, 모든 타일은 초기 상태에서 빛의 문양이 위를 향하고 있다.
모험가 여러분은 두 가지 마법 스크롤을 사용하여 타일을 뒤집을 수 있다. 스크롤은 사용해도 사라지지 않으며, 한 스크롤을 여러번 사용할 수 있다.
모험가 여러분이 스크롤을 적절히 사용하여 모든 타일이 빛의 문양이 위를 향하도록 만들 수 있는 타일의 초기 상태를 아름다운 패턴이라 정의한다.
지역의 수호자, 타일 마스터는 시간의 흐름에 따라 타일의 문양을 조작하며 모험가에게 시련을 부여한다. 시각 에는 모든 타일이 빛의 문양이 위를 향하고 있다. 이상 이하인 에 대해 시각 가 되면 타일 마스터는 , , , 를 선택하고, 와 를 만족하는 모든 정수 , 에 대해 행 열에 위치한 타일을 모두 뒤집는다.
이제, 모험가 여러분은 각 시각 에 대해, 해당 시각의 타일 상태를 시작 상태로 할 때 스크롤을 적절히 사용하여 모든 타일이 빛의 문양이 위를 향하게 만들 수 있는지, 즉 타일 상태가 아름다운 패턴인지 판별하는 프로그램을 작성하라.
첫 줄에 격자판의 크기를 나타내는 두 정수 과 이 공백으로 구분되어 주어진다. ( )
그다음 줄에 빛의 스크롤 종류의 수를 나타내는 정수 가 주어진다. ()
그다음 줄에 각 빛의 스크롤 특성값을 나타내는 개의 서로 다른 정수 가 공백으로 구분되어 주어진다. ()
그다음 줄에 어둠의 스크롤 종류의 수를 나타내는 정수 가 주어진다. ()
그다음 줄에 각 어둠의 스크롤 특성값을 나타내는 개의 서로 다른 정수 가 공백으로 구분되어 주어진다. ()
그다음 줄에 시간의 길이를 나타내는 정수 가 주어진다. ()
이어지는 개의 줄의 번째 줄에는 시각 에 타일 마스터가 타일의 문양을 조작하는 방법을 나타내는 네 정수 , , , 가 공백으로 구분되어 주어진다. ( )
첫 줄에 정답을 나타내는 길이 의 문자열을 출력한다.
이 문자열은 Y
와 N
으로만 이루어져 있어야 한다.
번째 문자가 Y
이면 시각 에 타일 상태가 아름다운 패턴인 것이고, N
이면 그렇지 않은 것을 의미한다.
6 8 1 4 2 6 7 4 1 1 4 8 1 5 6 8 1 3 4 4 5 3 6 4
YNNY
시각 의 타일 상태는 첫 번째 빛의 스크롤으로 , , , 행을 뒤집어 모든 타일이 빛의 문양이 위로 향하도록 만들 수 있다.
시각 의 타일 상태는 첫 번째 빛의 스크롤으로 , , , 행을 뒤집은 후, 첫 번째 어둠의 스크롤으로 , , , , , 열을 뒤집어 모든 타일이 빛의 문양이 위로 향하도록 만들 수 있다.
시각 와 의 타일 상태는 스크롤을 어떻게 사용해도 모든 타일이 빛의 문양이 위로 향하도록 만드는 것이 불가능하다.
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 14점
종류 2: 8점
종류 3: 38점
종류 4: 15점
또는
종류 5: 25점
추가적인 제한 조건이 없음.