洛谷-P2089 烤鸡

P2089 烤鸡 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=30;
//const int M=1e3*3+10;
const int M=pow(3,10);
int n;
int arr[N]; //存临时方案
int res; //存方案数
int ans[M][N]; //存所有方案

//x表示当前到了哪个位置,sum表示当前已经选了的调料的总质量
void dfs(int x,int sum) {
	if(sum>n){
		return; //剪枝
	}
	if(x>10){ //枚举到了第11个位置,说明前面的10个调料已经分配好了
		if(sum==n){ //约束条件,刚好找到了方案
			res++;
			for(int i=1;i<=10;i++){
				ans[res][i]=arr[i];
			}
		}
		return;
	}
	
	for(int i=1;i<=3;i++){
		arr[x]=i;
		dfs(x+1,sum+i);
		arr[x]=0; //恢复现场
	}
}

int main() {
	cin>>n;
	dfs(1,0);
	cout<<res<<endl;
	for(int i=1;i<=res;i++){
		for(int j=1;j<=10;j++){
			cout<<ans[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
相关推荐
ahadee9 小时前
蓝桥杯每日真题 - 第19天
c语言·vscode·算法·蓝桥杯
恃宠而骄的佩奇11 小时前
i春秋-签到题
web安全·网络安全·蓝桥杯
ahadee13 小时前
蓝桥杯每日真题 - 第18天
c语言·vscode·算法·蓝桥杯
St_Ludwig14 小时前
C语言 蓝桥杯某例题解决方案(查找完数)
c语言·c++·后端·算法·游戏·蓝桥杯
BigShark8881 天前
2025蓝桥杯(单片机)备赛--扩展外设之I2C的重要应用--PCF8591(八)
单片机·职场和发展·蓝桥杯
BigShark8881 天前
2025蓝桥杯(单片机)备赛--扩展外设之NE555的使用及定时器1的详细讲解(十)
单片机·职场和发展·蓝桥杯
BigShark8882 天前
2025蓝桥杯(单片机)备赛--扩展外设之DS1302的使用(九)
单片机·职场和发展·蓝桥杯
濊繵2 天前
备赛蓝桥杯--算法题目(1)
算法·职场和发展·蓝桥杯
学习前端的小z2 天前
【蓝桥杯C/C++】深入解析I/O高效性能优化:std::ios::sync_with_stdio(false)
c++·蓝桥杯
轮到我狗叫了2 天前
2024年第15届蓝桥杯C/C++组蓝桥杯JAVA实现
职场和发展·蓝桥杯