后三点TLE了,向大佬求助
查看原帖
后三点TLE了,向大佬求助
1178818
BlackWuKong楼主2024/7/12 08:39
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,a[N],tot[N],c,s=0;
void dfs(int step,int d,int sum){
	if (sum==n&&step>2&&d==c){
		s++;
		return ;
	}
	for (int i=d;i<=n;i++){
		if (sum+i<=n){
			tot[i]=1;
			a[step]=i;
			dfs(step+1,i,sum+i);
			tot[i]=0;
			a[step]=0;
		}
	}
}
int main(){
    cin>>n>>c;
    if (n==1){
    	return 0;
	}
    dfs(1,1,0);
    cout<<s;
	return 0;
}
2024/7/12 08:39
加载中...