程序设计实验题5.3 瓜分车厘子
生活随笔
收集整理的這篇文章主要介紹了
程序设计实验题5.3 瓜分车厘子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序設計語言綜合設計實驗題5.3 瓜分車厘子
★實驗任務
大家一定小時候都做過很多奇奇怪怪的分水果的題目,比如7個小朋友分3個蘋果,切4刀怎么分比較合理。
然而我們今天要分的是車厘子,自然不可能把車厘子切開來分。事實上,負責分配車厘子的Gyy也很隨意,他只要能把給定的n個車厘子分成k份就可以了,根本不在乎誰多誰少,請幫忙Gyy算一下,一共會有多少種分配方案。請注意,每份不能為空,如果一種分法能夠通過調換順序變成另一種,那么認為他們是相同的,比如:
1,1,8;8,1,1;1,8,1;這三種分法視為同一種方案。
★輸入格式
輸入共一行,給出兩個整數n,k,其中6<n≤200,2≤k≤6。
★輸出格式
輸出共一行,即不同的分法的方案數。
★輸入樣例
7 3
★輸出樣例
4
★Hint
四種分法為:1,1,5; 1,2,4; 1,3,3; 2,2,3。
思路:本題的數據范圍很小,直接用搜索就能AC,時間復雜度O(n^k)。
但如果數據范圍稍微增大一些,顯然搜索就會超時!
因此可以用一種巧妙的dp做法解決此問題。
狀態表示:dp[i][j]表示將i個車厘子分成j個的方法數。
狀態轉移:咕咕咕。
代碼:
轉載于:https://www.cnblogs.com/fzulinxin/p/10696302.html
總結
以上是生活随笔為你收集整理的程序设计实验题5.3 瓜分车厘子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 'telnet' 不是内部或外部命令,也
- 下一篇: 济南开车去八达岭长城办理进京证,是六环外