烤鸡--(枚举)

题目背景

猪猪hanke得到了一只鸡

题目描述

猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末、孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和

现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案

输入输出格式

输入格式:

 

一行,n<=5000

 

输出格式:

 

第一行,方案总数

第二行至结束,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 

说明

枚举

 

#include<stdio.h>
#include<stdlib.h>
int main() {
	int a[11], n, i, book = 0, T[10000][11];
	scanf_s("%d", &n);
	if (n < 10 || n>30) {   //10以下和30以上的不可能
		printf("0\n");
		system("pause");  
		return 0;
	}
	if (n % 10 == 0) {
		i = n / 10;
		if (i != 2) {      //是10的整数倍但不是20的情况只有一种情况
			printf("1\n");
			printf("%d %d %d %d %d %d %d %d %d %d\n", i, i, i, i, i, i, i, i, i, i);
			system("pause");
			return 0;
		}
	}
//枚举开始:
	for (a[1] = 1; a[1] <= 3; a[1]++) {     
		for (a[2] = 1; a[2] <= 3; a[2]++) {
			for (a[3] = 1; a[3] <= 3; a[3]++) {
				for (a[4] = 1; a[4] <= 3; a[4]++) {
					for (a[5] = 1; a[5] <= 3; a[5]++) {
						for (a[6] = 1; a[6] <= 3; a[6]++) {
							for (a[7] = 1; a[7] <= 3; a[7]++) {
								for (a[8] = 1; a[8] <= 3; a[8]++) {
									for (a[9] = 1; a[9] <= 3; a[9]++) {
										for (a[10] = 1; a[10] <= 3; a[10]++) {
											if (a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7] + a[8] + a[9] + a[10] == n) {
												book++;
												T[book][1] = a[1]; T[book][2] = a[2]; T[book][3] = a[3]; T[book][4] = a[4]; T[book][5] = a[5];
												T[book][6] = a[6]; T[book][7] = a[7]; T[book][8] = a[8]; T[book][9] = a[9]; T[book][10] = a[10];
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	printf("%d\n", book);
	for (i = 1; i <= book; i++)
		printf("%d %d %d %d %d %d %d %d %d %d\n", T[i][1], T[i][2], T[i][3], T[i][4], T[i][5], T[i][6], T[i][7], T[i][8], T[i][9], T[i][10]);
	system("pause");
	return 0;
}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-footer是Element UI库中的一个组件,用于在页面底部添加一个固定的页脚。它的使用方式如下: ```html <template> <div> <el-header>Header</el-header> <el-main>Main Content</el-main> <el-footer>Footer</el-footer> </div> </template> ``` 在上面的例子中,el-header、el-main和el-footer分别代表页面的头部、主体和底部。el-footer会被固定在页面底部,无论页面内容的高度是多少。 如果你想让el-footer沉底,即当页面内容不足以撑满整个屏幕时,让el-footer始终保持在页面底部,可以使用CSS中的flex布局来实现。具体的代码如下: ```html <template> <div class="container"> <div class="content"> <!-- 页面内容 --> </div> <el-footer class="footer">Footer</el-footer> </div> </template> <style> .container { display: flex; flex-direction: column; min-height: 100vh; } .content { flex: 1; } .footer { margin-top: auto; } </style> ``` 上面的代码中,我们创建了一个flex容器(class为container),设置了它的`min-height`为`100vh`,确保容器至少占满整个屏幕高度。然后,将页面内容放在一个div(class为content)中,并设置其`flex`属性为1,让它占满剩余的空间。最后,将el-footer的`margin-top`属性设置为`auto`,使其自动填充剩余的空间,从而将el-footer沉底。 这样,无论页面内容的高度是多少,el-footer都会保持在页面底部。希望对你有帮助!如有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值