在手遊《和平精英》裏面,當剩餘5個隊伍的時候,會提示“勝利”,這時,我們可以根據剩餘的4個隊伍的總人數S來推斷4個隊伍的人數分佈可能情況。
這個信息,對於我們遊戲還是很有幫助的,尤其是提防滿編隊的存在以及獨狼的數量。
這裏就涉及到整數的劃分問題,
剛好,我們來回顧下動態規劃,
數的劃分,參考
https://blog.csdn.net/dllgdxlxl/article/details/79438098
f(S, k) 的所有組合情況 = f( S-1, k-1) 含有1的情況
+ f(S-k, k) 不含有1的情況
這個遞推公式有點繞,需要用實例比劃一下才好理解。
對於我們這個問題,由於每隊的人數最多爲4(正常情況下),所以有了一個限制條件。
這個問題裏,我們可以採用一個更清楚的方法去處理,由於其他隊伍只有4個,就設其人數分別爲 a, b, c, d, 且 1 <= a, b, c, d <= 4
粗暴一點,搞個4層for循環,當 a + b + c + d == S 時,就打印出來,
這樣,就可以找出所有的組合了。
有了其他隊伍人數分佈情況,我們就更有把握了。