猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 1010 种配料(芥末、孜然等),每种配料可以放 11 到 33 克,任意烤鸡的美味程度为所有配料质量之和。
现在, Hanke 想要知道,如果给你一个美味程度 �n ,请输出这 1010 种配料的所有搭配方案。
输入格式
一个正整数 �n,表示美味程度。
输出格式
第一行,方案总数。
第二行至结束,1010 个数,表示每种配料所放的质量,按字典序排列。
如果没有符合要求的方法,就只要在第一行输出一个 00。
#include <iostream>
#include<string.h>
using namespace std;//4进制的数
char ct[] = "1111111111";
void next() {ct[9] += 1;for (int i = 9; i >= 0; i--) { if (ct[i] == '4') {ct[i] = '1';ct[i - 1] += 1;}}
}
int cnt() {int n = 0;for (int i = 9; i >= 0; i--)n += ct[i] - '0';return n;
} int main() {int t;int res = 0;scanf("%d",&t);while (1) {if (cnt() == t) {res += 1; }if (strcmp(ct,"3333333333")==0)break;next();}printf("%d\n",res);res = 0;strcpy(ct,"1111111111");while (1) {if (cnt() == t) {cout << ct << endl;}if (strcmp(ct, "3333333333") == 0)break;next();}return 0;
}