CF225B Well-known Numbers

题目描述

$k$-斐波那契数($k$ 为整数,$k > 1$)是斐波那契数列的一种推广,其定义如下: - 对于整数 $n$,当 $1 \le n < k$ 时,$F(k,n) = 0$; - 当 $n = k$ 时,$F(k,k) = 1$; - 对于整数 $n$,当 $n > k$ 时,$F(k,n) = F(k,n-1) + F(k,n-2) + \ldots + F(k,n-k)$。 请注意,我们只在整数 $n$ 和 $k$ 时定义 $k$-斐波那契数 $F(k, n)$。 给定一个整数 $s$,请将其表示为多个(不少于两个)不同的 $k$-斐波那契数之和。

输入格式

第一行包含两个整数 $s$ 和 $k$($1 \le s, k \le 10^{9}$,$k > 1$)。

输出格式

第一行输出一个整数 $m$($m \ge 2$),表示在该表示中使用了多少个数。第二行输出 $m$ 个不同的整数 $a_{1}, a_{2}, \ldots, a_{m}$,每个整数都是一个 $k$-斐波那契数,这些数的和恰好等于 $s$。 保证一定存在符合要求的解。如果有多种方案,输出任意一种均可。

说明/提示

由 ChatGPT 5 翻译