有问题
查看原帖
有问题
1349586
bole_zhangshichen楼主2025/1/22 13:15
#include<bits/stdc++.h>
using namespace std;
int n;
int ans[10001]={1};
int dfs(int k,int s){
	if(s==0){
	    for(int i=1;ans[i]!=0;i++){
			if(ans[i]==n)  return 0;
			if(i==1){
				cout<<ans[i];
			}
			else  cout<<'+'<<ans[i];
	    }
	    cout<<endl;
		return 0;
	}
	for(int i=ans[k-1];i<=s;i++){
		ans[k]=i;
		dfs(k+1,s-i);
		ans[k]=0;
	}
}
int main(){
	cin>>n;
	dfs(1,n);
	return 0;
}

输出答案是对的,但为啥是RE啊? 有没有大佬帮帮我。

2025/1/22 13:15
加载中...