洛谷-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;
}
相关推荐
沧澜sincerely1 小时前
蓝桥杯算法练习
算法·职场和发展·蓝桥杯
_OP_CHEN2 小时前
【算法基础篇】(五十三)隔板法指南:从 “分球入盒” 到不定方程,组合计数的万能解题模板
算法·蓝桥杯·c/c++·组合数学·隔板法·acm/icpc
XH华15 小时前
备战蓝桥杯,第七章:函数与递归
职场和发展·蓝桥杯
仰泳的熊猫1 天前
题目1433:蓝桥杯2013年第四届真题-危险系数
数据结构·c++·算法·蓝桥杯·深度优先·图论
说给风听.1 天前
拆解蓝桥杯红黑树:无限深度树的奇偶性规律与 Python 实战解法
python·职场和发展·蓝桥杯
代码雕刻家2 天前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
养军博客2 天前
C语言五天速成(可用于蓝桥杯备考 难度中等偏下)
c语言·算法·蓝桥杯
闻缺陷则喜何志丹2 天前
【栈 递归】P8650 [蓝桥杯 2017 省 A] 正则问题|普及+
c++·数学·蓝桥杯·递归·
仰泳的熊猫2 天前
题目1432:蓝桥杯2013年第四届真题-剪格子
数据结构·c++·算法·蓝桥杯·深度优先·图论
闻缺陷则喜何志丹2 天前
【数论 快速指数幂 龟速乘】P8652 [蓝桥杯 2017 国 C] 小数第 n 位|普及+
c++·蓝桥杯·数论·快速指数幂·龟速乘