#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
相关推荐
lxmyzzs16 分钟前
【图像算法 - 16】庖丁解牛:基于YOLO12与OpenCV的车辆部件级实例分割实战(附完整代码)wow_DG1 小时前
【C++✨】多种 C++ 解法固定宽度右对齐输出(每个数占 8 列)Epiphany.5561 小时前
c++最长上升子序列长度Cx330❀2 小时前
【数据结构初阶】--排序(四):归并排序余_弦2 小时前
区块链中的密码学 —— 密钥派生算法亲爱的非洲野猪2 小时前
令牌桶(Token Bucket)和漏桶(Leaky Bucket)细节对比NAGNIP3 小时前
一文读懂LLAMA烧冻鸡翅QAQ3 小时前
62.不同路径番薯大佬3 小时前
编程算法实例-冒泡排序