UVa 369 - Combinations
UVa 369 - Combinations
( Tip: 點擊左上方的三橫槓選單按鈕,可以收起左側 Pdf 頁。)
Step 1. 題目概要
- 輸入兩個整數 n,m
- 輸出 排列組合中的 Cn取m
- 當輸入為 0 0 時,程式終止
Step 2. 解題思路
- 利用動態規劃(Dynamic Programming)的概念,從尾巴的部分開始去切。尾巴就是第n個,這個東西必定要決定取或不取,將第n物拿開,剩下的n-1個東西就會變成同性質的子問題
- dp[n][m]=k (在n個物品中取出m個的方法有k種)
- 若第n物選擇取,則剩餘的n-1物中,要剛好取m-1個
- 若第n物選不取,則剩餘的n-1物中,要剛好取m個
- dp[n][m] = dp[n-1][m-1] + dp[n-1][m]
Step 3. 範例輸入與輸出 - Sample Input and Output
1 | 100 6 |
1 | 100 things taken 6 at a time is 1192052400 exactly. |
Step 4. 參考程式碼 - Accepted Code
1 |
|
評論
歡迎來到 GitHub 留言區
歡迎分享想法、問題或勘誤。登入 GitHub 後即可留言;支援 Markdown、Emoji 與外部圖片連結。
GitHub 登入MarkdownEmoji
使用 Disqus 參與討論
Disqus 是第三方服務,載入後可能使用 Cookie。可依 Disqus 設定使用 Facebook 等多元登入方式,也能加入圖片與 GIF;媒體功能需在 Disqus 後台開啟。
多元登入圖片 / GIF文章反應






