Codeforces 933 B. A Determined Cleanup(数学)

Posted 小坏蛋_千千

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 933 B. A Determined Cleanup(数学)相关的知识,希望对你有一定的参考价值。

Description

In order to put away old things and welcome a fresh new year, a thorough cleaning of the house is a must.

Little Tommy finds an old polynomial and cleaned it up by taking it modulo another. But now he regrets doing this…

Given two integers p p and k , find a polynomial f(x) f ( x ) with non-negative integer coefficients strictly less than k k , whose remainder is p when divided by (x+k) ( x   +   k ) . That is, f(x)=q(x)(x+k)+p f ( x )   =   q ( x ) · ( x   +   k )   +   p , where q(x) q ( x ) is a polynomial (not necessarily with integer coefficients).

 

Input

The only line of input contains two space-separated integers p p and k (1p1018,2k2000) ( 1   ≤   p   ≤   10 18 , 2   ≤   k   ≤   2   000 ) .

 

Output

If the polynomial does not exist, print a single integer 1 − 1 , or output two lines otherwise.

In the first line print a non-negative integer d d — the number of coefficients in the polynomial.

In the second line print d space-separated integers a0,a1,...,ad1 a 0 ,   a 1 ,   . . . ,   a d   −   1 , describing a polynomial f(x)=d1i=0aixi f ( x ) = ∑ i = 0 d − 1 a i · x i fulfilling the given requirements. Your output should satisfy 0ai<k 0   ≤   a i   <   k for all 0id1 0   ≤   i   ≤   d   −   1 , and ad10 a d   −   1   ≠   0 .

If there are many possible solutions, print any of them.

 

Examples input

46 2

 

Examples output

7
0 1 0 0 1 1 1

 

题意

给定正整数 p,k p , k ,我们需要找出一个多项式 q(x) q ( x ) ,使得 f(x)=q(x)(x+k)+p f ( x )   =   q ( x ) · ( x   +   k )   +   p 的各项系数严格小于 k k 且不为负数,输出 f(x) 的各项系数。

 

思路

仔细想想便可以知道,这样的解一定是存在的,所以没有输出 1 − 1 的可能性

我们可以对原式化简一下: f(x)=xq(x)+kq(x)+p f ( x ) = x · q ( x ) + k · q ( x ) + p

假设 q(x)=a1+a2x+a3x2++anxn1 q ( x ) = a 1 + a 2 · x + a 3 · x 2 + ⋯ + a n · x n − 1 ,其中 ai a i 为某一整数

现在我们再来讨论 Codeforces 933 C. A Colourful Prospect (平面图,欧拉公式)

[Codeforces 933A]A Twisty Movement

[Codeforces 933B]A Determined Cleanup

codeforces 933D A Creative Cutout

codeforces 655B B. Mischievous Mess Makers(贪心)

codeforces 653B B. Bear and Compressing(dfs)