만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

순환하는 삼각형

시간 제한5초메모리 제한512 MB

요약
삼각형 크기와 칸 좌표가 주어질 때, 테두리를 따라 채우는 순서로 그 칸에 적히는 숫자를 구한다.
난이도

보통10점 중 5점

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

문제

크기가 NN인 직각삼각형 격자를 숫자로 채운다. 두 직각변의 길이는 모두 NN이고, 한 변은 위쪽에 가로로, 다른 한 변은 오른쪽에 세로로 놓는다. 열은 왼쪽 끝이 00번, 오른쪽 끝이 N−1N-1번이고, 행은 위쪽 끝이 00번, 아래쪽 끝이 N−1N-1번이다. 따라서 직각은 00행 N−1N-1열에 있고, RR행 CC열 칸은 R≤CR \le C일 때만 존재한다. 빗변은 00행 00열에서 N−1N-1행 N−1N-1열까지 이어진다.

채우기는 삼각형의 테두리를 한 바퀴 도는 방식으로 진행한다.

  1. 직각의 반대쪽 끝인 00행 00열에서 시작해 가로변을 따라 오른쪽으로 00행 N−1N-1열까지 채운다.
  2. 이어서 세로변을 따라 아래로 N−1N-1행 N−1N-1열까지 채운다.
  3. 다시 빗변을 따라 왼쪽 위로 올라가면서 11행 11열까지 채운다.

여기까지 채우고 나면 아직 비어 있는 칸은 11행 22열을 왼쪽 위 꼭짓점으로 하는 크기 N−3N-3의 직각삼각형이 된다. 그 삼각형에 같은 규칙을 다시 적용하고, 크기가 00 이하가 되면 멈춘다.

칸에 적는 숫자는 채운 순서를 따라 1,2,…,9,0,1,2,…1, 2, \dots, 9, 0, 1, 2, \dots 로 반복한다. 즉 kk번째로 채운 칸에는 kk를 1010으로 나눈 나머지를 적는다.

N=10N = 10이면 완성된 표는 다음과 같다. 점은 삼각형 바깥을 뜻한다.

1234567890
.789012341
..65678952
...5445063
....433174
.....32285
......2196
.......107
........08
.........9

NN을 알면 어떤 칸의 숫자든 바로 구할 수 있다. 위 표에서 00행 77열은 88이고, 55행 77열은 22다. 행 번호와 열 번호가 주어질 때 그 칸에 적힌 숫자를 구하는 프로그램을 작성하시오.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤101 \le T \le 10)

각 테스트 케이스의 첫 줄에는 삼각형의 크기 NN과 질의의 개수 QQ가 공백 하나를 사이에 두고 주어진다. (1≤N≤10000001 \le N \le 1000000, 1≤Q≤101 \le Q \le 10)

이어지는 QQ개의 줄에는 각각 행 번호 RR과 열 번호 CC가 공백 하나를 사이에 두고 주어진다. (0≤R≤C<N0 \le R \le C < N) 행과 열은 모두 00부터 센다.

출력

질의마다 RR행 CC열 칸에 적힌 숫자를 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.

예제2

  1. 예제 1

    입력
    2
    12 5
    7 8
    0 0
    11 11
    5 10
    2 7
    1000000 6
    7000 8000
    5212 6824
    700000 999999
    5000 72913
    900000 955555
    8775 57412
    
    예상 출력
    2
    1
    3
    6
    1
    8
    0
    0
    4
    8
    3
    
  2. 예제 2

    입력
    4
    1 1
    0 0
    2 3
    0 0
    0 1
    1 1
    3 6
    0 0
    0 1
    0 2
    1 1
    1 2
    2 2
    4 10
    0 0
    0 1
    0 2
    0 3
    1 1
    1 2
    1 3
    2 2
    2 3
    3 3
    
    예상 출력
    1
    1
    2
    3
    1
    2
    3
    6
    4
    5
    1
    2
    3
    4
    9
    0
    5
    8
    6
    7