만드는 중입니다

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

행렬 연산 (아름다운 행렬 만들기)

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

요약
N x N 상삼각 1행렬에서 출발해 행이나 열에 p/q를 더하는 연산을 2N번 이하로 써서, 모든 행과 열의 절댓값 합을 N/4 이하로 만드는 문제입니다.
난이도

보통10점 중 7점

유형
행렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

N×NN \times N 행렬 UN=(uij)U_N = (u_{ij})을 다음과 같이 정의합니다. uiju_{ij}는 ii행 jj열의 값입니다.

uij={1if i≤j0if i>ju_{ij} = \begin{cases} 1 & \text{if } i \le j\\ 0 & \text{if } i > j \end{cases}

즉, UNU_N은 주대각선과 그 위쪽의 값이 모두 11이고, 나머지 값은 모두 00인 행렬입니다. 예를 들어 다음과 같습니다.

U1=(1),  U2=(1101),  U3=(111011001),  U4=(1111011100110001)U_1 = \begin{pmatrix} 1 \end{pmatrix}, \; U_2 = \begin{pmatrix} 1 & 1\\ 0 & 1 \end{pmatrix}, \; U_3 = \begin{pmatrix} 1 & 1 & 1\\ 0 & 1 & 1\\ 0 & 0 & 1 \end{pmatrix}, \; U_4 = \begin{pmatrix} 1 & 1 & 1 & 1\\ 0 & 1 & 1 & 1\\ 0 & 0 & 1 & 1\\ 0 & 0 & 0 & 1 \end{pmatrix}

이 행렬에 다음 연산을 할 수 있습니다.

  • 11 rr pp qq: 정수 rr, pp, qq를 정합니다. rr번째 행의 모든 원소에 pq\frac{p}{q}를 더합니다. (1≤r≤N1 \le r \le N, −1012≤p≤1012-10^{12} \le p \le 10^{12}, 1≤q≤1061 \le q \le 10^6)
  • 22 cc pp qq: 정수 cc, pp, qq를 정합니다. cc번째 열의 모든 원소에 pq\frac{p}{q}를 더합니다. (1≤c≤N1 \le c \le N, −1012≤p≤1012-10^{12} \le p \le 10^{12}, 1≤q≤1061 \le q \le 10^6)

모든 행과 모든 열에서 원소 절댓값의 합이 N4\frac{N}{4} 이하인 행렬을 아름다운 행렬이라고 합니다. 형식적으로는, NN행 NN열 행렬 A=(aij)A = (a_{ij})가 모든 1≤r≤N1 \le r \le N, 1≤c≤N1 \le c \le N에 대해 다음을 만족하면 AA는 아름다운 행렬입니다.

∑j=1N∣arj∣≤N4,∑i=1N∣aic∣≤N4\sum_{j=1}^{N} \left|a_{rj}\right| \le \frac{N}{4}, \quad \sum_{i=1}^{N} \left|a_{ic}\right| \le \frac{N}{4}

UNU_N으로 초기화된 행렬에 연산을 최대 2N2N번 진행하여 아름다운 행렬로 만들 수 있습니다. 그 방법을 하나 찾아서 출력하세요.

입력

첫 번째 줄에 행렬의 크기를 나타내는 정수 NN이 주어집니다. (1≤N≤4001 \le N \le 400)

출력

첫 번째 줄에 연산 횟수 QQ를 출력하세요. 0≤Q≤2N0 \le Q \le 2N이어야 합니다.

다음 QQ개의 줄에 각각 연산을 나타내는 네 정수를 공백으로 구분하여 출력하세요. 각 연산은 다음 중 하나여야 합니다.

  • 11 rr pp qq (1≤r≤N1 \le r \le N, −1012≤p≤1012-10^{12} \le p \le 10^{12}, 1≤q≤1061 \le q \le 10^6)
  • 22 cc pp qq (1≤c≤N1 \le c \le N, −1012≤p≤1012-10^{12} \le p \le 10^{12}, 1≤q≤1061 \le q \le 10^6)

UNU_N으로 초기화된 행렬에 모든 연산을 순서대로 실행한 후의 행렬은 아름다운 행렬이 되어야 합니다.

예제2

  1. 예제 1

    입력
    1
    
    예상 출력
    2
    1 1 -7 6
    2 1 1 6
    
  2. 예제 2

    입력
    2
    
    예상 출력
    2
    1 1 -1 2
    2 2 -1 2