蒟蒻求助QAQ
查看原帖
蒟蒻求助QAQ
275523
kingdomm楼主2020/11/6 21:26
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int n;
void dfs(int tot,int x){
	int i;
	if(tot>n||x>n)
	return;
	if(tot==n){
		for(i=1;i<x-1;i++)
		cout<<a[i]<<'+';
		cout<<a[x-1]<<endl;
		return;
	}
	for(i=a[x-1];i<n;i++){
		a[x]=i;
		dfs(tot+i,x+1);
	}
	return;
}
int main()
{
	scanf("%d",&n);
	a[0]=1;
	dfs(0,1);
	return 0;
}

哪里错了?为什么样例第一行1+1+1+1+1+1+1不能输出

2020/11/6 21:26
加载中...