아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

보물

시간 제한2초메모리 제한256 MB

요약
직사각형 개수 질의의 비용이 영역이 작을수록 커지는 상황에서, 질의를 통해 N x N 격자의 보물 칸을 모두 찾아낸다.
난이도

보통10점 중 7점

유형
분할 정복, 이분 탐색, 구간, 그리디
정답자
아직 제출이 없습니다

문제

최근 지진 이후 아드리아해에 새 섬이 솟아났다. 섬 대부분은 황무지이지만, 한 기묘한 장치가 발견되었다. 사람들은 이 장치를 오라클이라 부르게 되었다. 사용 설명서는 없었지만, 고고학자와 컴퓨터 전문가로 이루어진 팀이 동작 방식을 밝혀냈다.

오라클은 섬 곳곳에 묻힌 보물의 위치 정보를 알려 준다. 섬은 NN행 NN열의 격자로 나뉘며, 행과 열은 각각 1부터 NN까지 번호가 매겨진다. 격자의 일부 칸에는 보물이 있다. 오라클은 "이 직사각형 안에 보물이 몇 칸 있나?"라는 질문에 답한다.

직사각형이 차지하는 칸 수를 SS라 하면, 답하는 데 드는 에너지는 정확히 1+N×N−S1 + N \times N - S이다. 작은 직사각형일수록 더 많은 에너지가 든다.

오라클과 상호작용하여 보물이 있는 모든 칸을 찾는 프로그램을 작성하라. 에너지를 너무 많이 쓰지 않도록 하라.

상호작용

프로그램은 표준 입력으로 NN을 읽은 뒤 오라클과 질의-응답을 반복한다.

질의: 한 줄에 네 정수 r1 c1 r2 c2r_1\ c_1\ r_2\ c_2를 출력한다. 이는 행 r1r_1, 열 c1c_1에서 행 r2r_2, 열 c2c_2까지의 축에 평행한 직사각형을 뜻한다. (1≤r1≤r2≤N1 \le r_1 \le r_2 \le N, 1≤c1≤c2≤N1 \le c_1 \le c_2 \le N)

응답: 한 줄에 해당 직사각형 안의 보물 칸 수가 주어진다. 질의 직후에는 빈 줄이 하나 더 온다.

모든 보물 위치를 확정하면 END를 출력하고, 이어서 NN줄의 격자를 출력한다. 각 줄은 길이 NN의 0과 1로 이루어진 문자열이며, 보물이 있으면 1, 없으면 0이다.

제한

  • 1≤N≤201 \le N \le 20
  • 보물이 있는 칸의 개수는 0 이상 N×NN \times N 이하이다.

예제1

  1. 예제 1

    입력
    2
    
    0
    
    1
    
    2
    
    
    
    
    예상 출력
    1 1 1 1
    
    1 2 1 2
    
    2 1 2 2
    
    END
    01
    11