为什么RE了
查看原帖
为什么RE了
264548
Tangent233楼主2020/6/13 11:55
#include<bits/stdc++.h>
using namespace std;
int num[12],k;
void print()
{
	int i=1;
	while(1)
	{
		if(i>k) break;
		if(num[i]!=0)
		{
			if(i!=1) cout<<'+';
			cout<<num[i];
			i++;
		}
	}
	cout<<endl;
}
void dfs(int n,int a)
{
	if(n==0) print();
	else
	{
		for(int i=num[a-1];i<=n;i++)
		{
			num[a]=i;
			dfs(n-i,a+1);
			num[a]=0;
		}
	}
}
int main()
{
	cin>>k;
	dfs(k,1);
	return 0;
}

找不到哪里有数组越界的情况出现

2020/6/13 11:55
加载中...