保定做网站的公司,桂林微代码网络科技有限公司,莘县做网站,常州软件开发公司题目背景
猪猪 Hanke 得到了一只鸡。
题目描述
猪猪 Hanke 特别喜欢吃烤鸡#xff08;本是同畜牲#xff0c;相煎何太急#xff01;#xff09;Hanke 吃鸡很特别#xff0c;为什么特别呢#xff1f;因为他有 10 种配料#xff08;芥末、孜然等#xff09;#xff0…题目背景
猪猪 Hanke 得到了一只鸡。
题目描述
猪猪 Hanke 特别喜欢吃烤鸡本是同畜牲相煎何太急Hanke 吃鸡很特别为什么特别呢因为他有 10 种配料芥末、孜然等每种配料可以放 1 到 3 克任意烤鸡的美味程度为所有配料质量之和。
现在 Hanke 想要知道如果给你一个美味程度 n 请输出这 10 种配料的所有搭配方案。
输入格式
一个正整数 n表示美味程度。
输出格式
第一行方案总数。
第二行至结束10 个数表示每种配料所放的质量按字典序排列。
如果没有符合要求的方法就只要在第一行输出一个 0。
输入输出样例
输入 #1复制
11
输出 #1复制
10
1 1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 1 2 1
1 1 1 1 1 1 1 2 1 1
1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 1 1
1 1 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1
1 1 2 1 1 1 1 1 1 1
1 2 1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1 1
说明/提示
对于 100% 的数据n≤5000。
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();if(n 10 || n 30) {//因为每种配料最少放1克最多3克//因此在此范围之外的n根本不可能发生System.out.print(0);return;}int a,b,c,d,e,f,g,h,i,j;int count 0;for(a 1;a 3;a) {for(b 1;b 3;b) {for(c 1;c 3;c) {for(d 1;d 3;d) {for(e 1;e 3;e) {for(f 1;f 3;f) {for(g 1;g 3;g) {for(h 1;h 3;h) {for(i 1;i 3;i) {for(j 1;j 3;j) {if(abcdefghij n) count;}}}}}}}}}}System.out.println(count);for(a 1;a 3;a) {for(b 1;b 3;b) {for(c 1;c 3;c) {for(d 1;d 3;d) {for(e 1;e 3;e) {for(f 1;f 3;f) {for(g 1;g 3;g) {for(h 1;h 3;h) {for(i 1;i 3;i) {for(j 1;j 3;j) {if(abcdefghij n) System.out.println(a b c d e f g h i j);}}}}}}}}}}}
}代码变态却实在有效