【基礎練習】【DFS】codevs2549 自然數和分解題解

題目描述 Description

把自然數N分解爲若干個自然數之和,輸出方案數。

輸入描述 Input Description

N,(1≤n≤50)

輸出描述 Output Description

方案數

樣例輸入 Sample Input

5

樣例輸出 Sample Output

7

數據範圍及提示 Data Size & Hint

5 可分爲

1 1 1 1 1
1 1 1 2
1 1 3
1 2 2
1 4
2 3

基本上也是水題

暴搜即可 注意枚舉時下一個數大於等於上一個數

//codevs2549 自然數和分解 DFS
//copyright by ametake
//寫了半天博客竟然卡機了,鬱悶,憤懣,於是還是寫寫搜索吧
#include
#include
using namespace std;

int n,ans;

void search(int now,int last)
{
	if (now==0)
	{
		ans++;
		return;
	}
	else 
	{
		for (int i=last;i<=now;i++)
		{
			search(now-i,i);
		}
	}
	return;
}

int main()
{
	scanf("%d",&n);
	search(n,1);
	printf("%d",ans);
	return 0;
} 

——但將酩酊酬佳節,不用登臨恨落暉



發佈了153 篇原創文章 · 獲贊 15 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章