P1025 數的劃分 (DFS)

P1025 數的劃分 (DFS)

題目傳送門

題意:求和爲k個數和爲n的組合總數。

思路:顯然求組合只需按升序DFS即可。

#include<cstdio>
int n,k;
int dfs(int cnt,int x,int re){//re(remain)
	if(cnt==k) return re==0;
	if(re==0) return cnt==k;
	int ans=0;
	for(int i=x;i<=re;i++)
		ans+=dfs(cnt+1,i,re-i);
	return ans;
}
int main(){
	scanf("%d%d",&n,&k);
	printf("%d\n",dfs(0,1,n));
	return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章