#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1e7 + 10;
int n,s[10];
void shuchu(int a)
{
for(int i=0;i<a;i++)
{
if(i==0) cout<<s[i];
else cout<<"+"<<s[i];
}
cout<<endl;
return;
}
void dfs(int x,int y,int z)
{
if(x==n) return;
if(y==n){
shuchu(z);
return;
}
for(int i=x;i<=n-y;i++)
{
s[z]=i;
dfs(i,y+i,z+1);
}
}
int main()
{
cin>>n;
dfs(1,0,0);
return 0;
}
P2404 自然数的拆分问题(典型的dfs)
queenlll2025-08-19 10:13
相关推荐
其实防守也摸鱼13 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径Nuanyt14 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)w_zero_one17 小时前
递归算法(一)风影同志7832418 小时前
20 个比特能装下多少行情?——实测拆解 Kronos 的 K 线分词器写的都是BUG19 小时前
APK 里的钥匙,一直就放在门口:聊聊加固真正该做什么地平线开发者19 小时前
CLIP 的零样本分类:一组文本如何变成图像分类器?京东云开发者20 小时前
从“会生成”到“能生产”:萤火虫 AIGC 平台的 AI Infra 实践youshi666820 小时前
PID——算法改进一只不想敲代码的程序猿1 天前
如何更高效地拆解问题?