洛谷-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;
}
相关推荐
良木生香1 天前
【程序设计】P8772 [蓝桥杯 2022 省 A] 求和
c语言·算法·职场和发展·蓝桥杯
_OP_CHEN2 天前
算法基础篇:(二十二)数据结构之单调队列:滑动窗口问题的 “最优解” 神器
数据结构·c++·算法·蓝桥杯·算法竞赛·单调队列·acm/icpc
谁刺我心2 天前
蓝桥杯C++常用STL
c++·算法·蓝桥杯
魂梦翩跹如雨3 天前
P8723 [蓝桥杯 2020 省 AB3] 乘法表——Java解答
java·蓝桥杯
Liangwei Lin3 天前
洛谷 P9241 [蓝桥杯 2023 省 B] 飞机降落
职场和发展·蓝桥杯
_OP_CHEN3 天前
算法基础篇:(二十一)数据结构之单调栈:从原理到实战,玩转高效解题
数据结构·算法·蓝桥杯·单调栈·算法竞赛·acm/icpc
_OP_CHEN4 天前
算法基础篇:(十九)吃透 BFS!从原理到实战,解锁宽度优先搜索的核心玩法
算法·蓝桥杯·bfs·宽度优先·算法竞赛·acm/icpc
编程小Y6 天前
配置Associated Domains时,需要注意哪些细节?
职场和发展·蓝桥杯
vir027 天前
P12155 [蓝桥杯 2025 省 Java B] 消失的蓝宝
java·职场和发展·蓝桥杯
九年义务漏网鲨鱼12 天前
蓝桥杯算法——状态压缩DP
算法·职场和发展·蓝桥杯