求助!!为什么只能输出一行!!
查看原帖
求助!!为什么只能输出一行!!
472945
武怡雯_楼主2021/9/6 19:48
#include<iostream>
using namespace std;

int n , m , f[1000] = {1};

void print(int xx) 
{
	for(int i = 1; i < xx; ++i) 
		cout << f[i] <<"+";
	cout << f[xx] << endl;
}

void dfs(int x) 
{
	for(int i = f[x - 1]; i <= m; ++i) {
		if(i == n) continue;
		f[x] = i; m -= 1;
		if(m == 0) print(x);
		else dfs(x + 1);
		m += 1;
	}
}

int main()
{
	cin >> n;
	m = n;
	dfs(1);
	return 0;
}
2021/9/6 19:48
加载中...