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

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

다항식

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

요약
차수가 최대 25인 정수 계수 다항식이 주어지면 0부터 n까지의 합을 나타내는 다항식을 기약 분수 계수로 구하고 분자 절댓값의 합을 출력합니다.
난이도

어려움10점 중 8점

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

문제

계수가 모두 정수인 차수 tt의 다항식 f(k)f(k)가 다음과 같이 주어진다.

f(k)=c0+c1k+c2k2+⋯+ctktf(k) = c_0 + c_1k + c_2k^2 + \cdots + c_tk^t

음이 아닌 정수 nn에 대해 f(0),f(1),…,f(n)f(0), f(1), \dots, f(n)의 합을 S(n)S(n)이라 하자.

S(n)=∑k=0nf(k)=f(0)+f(1)+⋯+f(n)S(n) = \sum_{k=0}^{n}{f(k)} = f(0) + f(1) + \cdots + f(n)

S(n)S(n)도 다항식이다. 다만 차수가 t+1t+1이고 계수는 유리수이므로 다음과 같이 쓸 수 있다.

S(n)=a0b0+a1b1n+a2b2n2+⋯+at+1bt+1nt+1S(n) = \frac{a_0}{b_0} + \frac{a_1}{b_1}n + \frac{a_2}{b_2}n^2 + \cdots + \frac{a_{t+1}}{b_{t+1}}n^{t+1}

여기서 각 i=0,1,…,t+1i = 0, 1, \dots, t+1에 대해 aia_i와 bib_i는 서로소인 정수다. 즉 1보다 큰 공약수가 없다. 계수가 0인 자리는 ai=0a_i = 0, bi=1b_i = 1로 정해진다.

정수 계수 c0,…,ctc_0, \dots, c_t로 주어진 차수 tt의 다항식 f(k)f(k)에 대해 S(n)S(n)을 구하고, 다음 값을 출력하는 프로그램을 작성하라.

∑i=0t+1∣ai∣\sum_{i=0}^{t+1}{\left| a_i \right|}

다항식에 대한 다음 항등식을 활용해도 된다. 임의의 양의 정수 dd와 임의의 실수 xx에 대해

(x+1)d−xd=1+(d1)x+(d2)x2+⋯+(dd−1)xd−1(x+1)^d - x^d = 1 + \binom{d}{1}x + \binom{d}{2}x^2 + \dots + \binom{d}{d-1}x^{d-1}

이고, 0≤i≤d0 \le i \le d인 정수 ii에 대해 (di)=d!i!(d−i)!\binom{d}{i} = \frac{d!}{i!(d-i)!}이다.

입력

입력은 표준 입력으로 읽는다. 입력은 TT개의 테스트 케이스로 이루어지고, 첫 줄에 테스트 케이스의 개수 TT가 주어진다.

각 테스트 케이스는 한 줄이다. 그 줄에는 음이 아닌 정수 tt (0≤t≤250 \le t \le 25)가 먼저 오고, 이어서 정수 c0,…,ctc_0, \dots, c_t가 t+1t+1개 온다. −10≤c0,…,ct≤10-10 \le c_0, \dots, c_t \le 10이고 ct≠0c_t \ne 0이다. 이 값이 차수 tt이고 계수가 c0,…,ctc_0, \dots, c_t인 다항식 f(k)=c0+c1k+c2k2+⋯+ctktf(k) = c_0 + c_1k + c_2k^2 + \cdots + c_tk^t를 완전히 결정한다.

출력

출력은 표준 출력으로 쓴다. 테스트 케이스마다 정확히 한 줄을 출력한다. 그 줄에는 값 ∑i=0t+1∣ai∣\sum_{i=0}^{t+1}{\left| a_i \right|}를 나타내는 정수 하나를 적는다.

예제1

  1. 예제 1

    입력
    3
    3 1 1 1 1
    5 0 -1 0 1 0 -1
    5 -3 10 9 2 -7 5
    
    예상 출력
    17
    6
    206