内存爆炸
  • 板块学术版
  • 楼主Grace25
  • 当前回复13
  • 已保存回复13
  • 发布时间2020/9/3 18:04
  • 上次更新2023/11/5 13:47:05
查看原帖
内存爆炸
359883
Grace25楼主2020/9/3 18:04
#include<iostream>
#include<algorithm>
using namespace std;
int num[21]={1},ans=0,n;
void print(int len){
	cout<<"Case "<<ans<<" : ";
	for(int i=1;i<len;i++){
		cout<<num[i]<<"+";
	}
	cout<<num[len];
	cout<<endl;
}
void dfs(int step,int x){
	if(x == 0){
		ans++;
		print(step-1);
		return;
	}
	for(int i=num[x-1];i<=x;i++){
		if(n-i >= 0){
			num[step]=i;
			n-=i;
			dfs(step+1,n);
			n+=i;
		}
	}
} 
int main(){
	cin>>n;
    dfs(1,n);
    cout<<"total : "<<ans;
    return 0; 
}

怎么内存就爆了!?

2020/9/3 18:04
加载中...