2317 - 【入门】合成分子
时间限制 : 1 秒
内存限制 : 128 MB
周周是洋葱王国的首席科学家,他有一个仪器可以用任意原子合成新的分子。现在一共有 10 种可供选择的原子,每种原子必须使用 1、2、3 个,总的原子个数规定是 n。周周想请你帮忙计算,一共能合成多少个不同的分子(不考虑同分异构体)?
输入
一个整数 n\ (1 \le n \le 50),表示新分子的原子总个数。
输出
第一行一个整数 m,表示不同的方案数。 接下来 m 行,每行为一种方案,包含 10 个整数,表示每种原子的个数。
方案按字典序从小到大输出。
样例
输入
29
输出
10 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2
提示
用 DFS 枚举每种原子的个数,因为要先输出方案数,我们需要先把答案保存下来,或者干脆搜两遍。