全TLE,求dalao看一看
#include<bits/stdc++.h>
using namespace std;
int n,a[100];
int sc(int b){
for(int i=0;i<b-1;i++){
cout<<a[i]<<'+';
}
if(b>1){
cout<<a[b-1]<<endl;
}
}
void dfs(int l,int w,int d){
if(w==0) sc(d);
if(w<l) return ;
for(int i=l;i<=w;i++){
a[d]=i;
dfs(i,w-i,d+1);
}
}
int main(){
cin>>n;
dfs(1,n,0);
return 0;
}
感谢,会回关