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

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

달팽이와 쿼리

면접 대비

시간 제한1초메모리 제한1024 MB

요약
홀수 크기 n의 시계방향 달팽이 배열에서 특정 칸의 값을 구하거나, 특정 값이 있는 행과 열을 답하는 쿼리를 처리한다.
난이도

보통10점 중 5점

유형
구현, 수학, 배열, 시뮬레이션
정답자
아직 제출이 없습니다

문제

크기가 NN인 이차원 달팽이 배열은 다음과 같이 정의된다.

  • NN은 11보다 큰 홀수이다.
  • 이차원 배열의 크기는 N×NN \times N이다.
  • 11보다 크거나 같고, N2N^2보다 작거나 같은 자연수가 중복없이 11, 22, …\dots, N2N^2 순서로 시계방향 소용돌이 패턴으로 한 칸에 하나씩 들어있다.
  • 가장 왼쪽 윗 칸은 11이다.

왼쪽 그림은 크기 NN이 33, 오른쪽은 55인 경우 이차원 달팽이 배열이다.

쿼리는 총 두 종류가 있다.

  • 1 nn xx yy: 크기가 nn인 이차원 달팽이 배열에서 xx행 yy열에 들어있는 수를 출력한다.
  • 2 nn zz: 크기가 nn인 이차원 달팽이 배열에서 zz가 들어있는 행 번호와 열 번호를 공백으로 구분해 출력한다.

행과 열의 번호는 11부터 시작한다.

QQ개의 쿼리가 주어진다. 쿼리를 순서대로 수행해보자.

입력

첫째 줄에 쿼리의 개수 QQ가 주어진다. 둘째 줄부터 QQ개의 줄에 쿼리가 한 줄에 하나씩 주어진다.

출력

쿼리를 수행한 결과를 한 줄에 하나씩 순서대로 출력한다.

제한

  • 1≤Q≤100,0001 ≤ Q ≤ 100\\,000
  • 3≤n≤99993 ≤ n ≤ 9999
  • 1≤x,y≤n1 ≤ x, y ≤ n
  • 1≤z≤n21 ≤ z ≤ n^2

예제1

  1. 예제 1

    입력
    10
    1 3 1 1
    1 3 2 1
    1 3 2 2
    2 3 9
    2 3 6
    1 5 2 2
    1 5 4 2
    2 5 4
    2 5 22
    1 5 3 2
    
    예상 출력
    1
    8
    9
    2 2
    3 2
    17
    23
    1 4
    4 3
    24