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

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

다항식 그리기

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

요약
주어진 차분 루프가 n차 다항식을 연속된 정수 점에서 계산하도록 초기 상수 C0부터 Cn을 구합니다.
난이도

보통10점 중 6점

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

문제

그래핑 계산기는 학생이 손을 거의 대지 않아도 함수를 화면에 그려 준다. 이런 계산기의 프로세서는 느리기 때문에 그리는 과정을 최대한 아껴 써야 한다. 이 문제에서는 다항식을 빠르게 그리는 방법을 구현한다.

차수가 nn인 다항식 p(x)=anxn+⋯+a1x+a0p(x) = a_n x^n + \dots + a_1 x + a_0을 정수점 x=0,1,…,m−1x = 0, 1, \dots, m-1 총 mm개에서 그리려고 한다. 각 점마다 다항식을 그대로 계산하면 곱셈 mnmn번과 덧셈 mnmn번이 든다.

앞서 구한 값을 다시 쓰면 계산이 줄어든다. 예를 들어 p(x)=a1x+a0p(x) = a_1 x + a_0이고 p(i)p(i)를 이미 구했다면 p(i+1)=p(i)+a1p(i+1) = p(i) + a_1이므로 다음 값마다 덧셈 한 번이면 된다.

일반적으로 초기화를 마치고 나면 덧셈 nn번으로 p(i)p(i)에서 p(i+1)p(i+1)을 구할 수 있다. 상수 C0,C1,…,CnC_0, C_1, \dots, C_n을 알맞게 정하면 아래 의사코드가 p(i)p(i)를 만들어 낸다.

p(0) = C_0; t_1 = C_1; ... t_n = C_n;
for i from 1 to m-1 do
     p(i)    = p(i-1)  + t_1;
     t_1     = t_1     + t_2;
     t_2     = t_2     + t_3;
              :
              :
     t_(n-1) = t_(n-1) + t_n;
end

p(x)=a1x+a0p(x) = a_1 x + a_0이면 C0=a0C_0 = a_0, C1=a1C_1 = a_1로 두면 된다.

i=0,…,m−1i = 0, \dots, m-1인 모든 ii에서 의사코드가 p(i)p(i)의 올바른 값을 내도록 하는 상수 C0,C1,…,CnC_0, C_1, \dots, C_n을 구하라.

입력

입력은 한 줄이다. 첫 정수는 nn이고 1≤n≤61 \le n \le 6이다. 이어서 정수 계수 an,…,a1,a0a_n, \dots, a_1, a_0이 n+1n+1개 주어진다. 모든 계수는 ∣ai∣≤50|a_i| \le 50을 만족하고 an≠0a_n \neq 0이다.

출력

C0,C1,…,CnC_0, C_1, \dots, C_n을 공백 하나로 구분해 한 줄에 출력한다.

예제3

  1. 예제 1

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

    입력
    2 2 -4 5
    
    예상 출력
    5 -2 4
    
  3. 예제 3

    입력
    6 1 -20 4 30 0 -1 2
    
    예상 출력
    2 14 -302 -2136 -3144 -600 720