만드는 중입니다

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

다항식 콰인

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

요약
N이 주어질 때, 계수 a_i가 0 이상 N 미만이고 모든 i에 대해 f(i)를 N으로 나눈 나머지가 a_i인 차수 N-1 다항식을 모두 구합니다.
난이도

보통10점 중 7점

유형
수학, 정수론
정답자
아직 제출이 없습니다

문제

정수 계수 다항식 f(x)=a_N−1xN−1+⋯+a_1x+a_0f(x) = a\_{N-1}x^{N-1} + \cdots + a\_1x + a\_0이 다음 두 조건을 모두 만족하면 N−1N-1차 다항식 콰인(Quine)이라고 한다.

  1. 모든 정수 ii (0≤i<N0 ≤ i < N)에 대해 0≤a_i<N0 ≤ a\_i < N이다.
  2. 모든 정수 ii (0≤i<N0 ≤ i < N)에 대해 f(i)≡a_i(modN)f(i) \equiv a\_i \pmod N이다.

놀랍게도 1≤N≤2001 ≤ N ≤ 200인 범위에서는 N−1N-1차 다항식 콰인이 정확히 NN개 구해진다.

NN이 주어질 때 모든 N−1N-1차 다항식 콰인을 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 정수 NN (1≤N≤2001 ≤ N ≤ 200)이 주어진다.

출력

NN개의 줄에 한 줄에 하나씩 N−1N-1차 다항식 콰인을 출력한다. 각 다항식은 a_N−1a\_{N-1}부터 a_0a\_0까지의 계수를 공백 하나로 구분하여 출력해야 한다. 같은 다항식을 여러 번 출력하면 안 된다.

다항식은 a_N−1a\_{N-1}이 작은 순서대로 출력해야 한다. a_N−1a\_{N-1}이 같으면 a_N−2a\_{N-2}가 작은 순서대로, 이런 식으로 a_N−1a\_{N-1}부터 a_1a\_1까지가 모두 같으면 a_0a\_0이 작은 순서대로 출력해야 한다.

예제4

  1. 예제 1

    입력
    1
    
    예상 출력
    0
    
  2. 예제 2

    입력
    2
    
    예상 출력
    0 0
    1 0
    
  3. 예제 3

    입력
    3
    
    예상 출력
    0 0 0
    1 2 2
    2 1 1
    
  4. 예제 4

    입력
    4
    
    예상 출력
    0 0 0 0
    0 2 0 2
    2 1 2 1
    2 3 2 3