相鄰問題使用
**法解決
問題1:
26個英文本母能組成多少4位數的字串,其中每位字母都不相同且b和d不相鄰?
答案: num = a(26,4) –c(24,2)*3!*2
解析: 先取總的方案數既 a(26, 4) , 再將b、d**看成乙個元素, 相當於已經先取了b和d,再從26-2個元素中取2個出來,再對這3個元素進行全排列既3!。注意最後的乘2操作是考慮bd和db兩種不同順序的情況
區域問題使用
隔板法解決
問題2:
桌球入洞遊戲:共有6個洞,洞口每次只能進入乙個桌球,一組編號為1-9的9
個桌球滾入洞口的方案有多少?
自己的第一想法是 : num = 6^9 個
錯誤的原因在於,第乙個球有6個選擇,但第乙個球確定位置後,第二個球變成了7個可選擇的區域,既可以把第乙個球也當成一塊隔板看待。如 「 ① | | | | | 」
同理,三個球變成了8個可選區域,所以總的方案是 num = 6 * 7 * 8…… * 14 (第一種解法,分步策略)
第二種解法,考慮多重排列來解
將5塊隔板也想象成5個球,相當於總數是 (5+9)! 種情況,而重複元素既板的重複度是5,所以 方案數 num = 14! / 5!
問題 D 相鄰數對問題
題目描述 給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。評測用例規模與約定 1 n 1000,給定的整數為不超過10000的非負整數。輸入 輸入的第一行包含乙個整數n,表示給定整數的個數。第二行包含所給定的n個整數。輸出 輸出乙個整數,表示值正好相差1的數對的個數。樣例輸入 6 1...
XDOJ 相鄰區域(序號71)題解
題目如下 乙個n行m列的矩陣被劃分成t個矩形區域,分別用數字1 t來標識,同乙個區域內的元素都用同乙個數字標識。如下圖所示,乙個6行8列的矩陣被分成8個矩形區域,分別用編號1 8標識。當兩個小區域之間公用一條邊時,稱這兩個區域相鄰,例如下圖中區域5的相鄰區域有6個,分別為1,2,3,6,7,8,但4...
nyoj 57 6174問題 相鄰元素判斷問題
記憶體限制 64mb 時間限制 1000ms special judge no accepted 16 submit 31 假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 ...