遞推之三國佚事 巴蜀之危

2021-08-17 05:13:41 字數 1046 閱讀 9571

三國佚事——巴蜀之危

time limit: 1000 ms memory limit: 65536 kib

submit statistic discuss

problem description

話說天下大勢,分久必合,合久必分。。。卻道那魏蜀吳三國鼎力之時,多少英雄豪傑以熱血譜寫那千古之絕唱。古人誠不我欺,確是應了那句「一將功成萬骨枯」。

是夜,明月高懸。諸葛丞相輕搖羽扇,一臉愁苦。原來是日前蜀國戰事吃緊,丞相徹夜未眠,奮筆急書,於每個烽火台寫下安排書信。可想,這戰事多變,丞相運籌 帷幄,給諸多烽火台定下不同計策,卻也實屬不易。

誰成想這送信小廝竟投靠曹操,給諸葛丞相暗中使壞。這小廝將每封書信都投錯了烽火台,居然沒有一封是對的。不多時小廝便被抓住,前後之事卻也明朗。這可急壞了諸葛丞相,這書信傳錯,勢必會讓蜀軍自亂陣腳,不攻自破啊! 諸葛丞相現在想知道被這小廝一亂,這書信傳錯共有多少種情況。

input

題目有多組資料,處理到檔案結尾,丞相共寫了n(1 <= n <= 20)封書信,輸入乙個正數n。
output

輸出書信傳錯的情況數。
sample input

1 3

6sample output

0 2

265hint

source

#include 

#include

int main()

while(~scanf("%d",&n))

return

0;}

think:

這其實是乙個錯排公式,和我們高中學的排列組合差不多,對於第乙個信封,有n-1種選擇,這樣看第二個信封(他的序號是第一封信放的位置,但是這是我們拿到的要排序的第二封),如果第乙個和第二個剛好互換位置,那麼,就看剩下的n-2封信的情況了,因為這時候這兩封信的位置已經錯排了,不用再考慮了,就是f(n-2),但是如果沒有互換位置,就要看剩下的n-1封信的情況了,就是f(n-1);所以綜上就是(n-1)*(f(n-1)+f(n-2));

遞推 SDUT 三國佚事 巴蜀之危

description 話說天下大勢,分久必合,合久必分。卻道那魏蜀吳三國鼎力之時,多少英雄豪傑以熱血譜寫那千古之絕唱。古人誠不我欺,確是應了那句 一將功成萬骨枯 是夜,明月高懸。諸葛丞相輕搖羽扇,一臉愁苦。原來是日前蜀國戰事吃緊,丞相徹夜未眠,奮筆急書,於每個烽火台寫下安排書信。可想,這戰事多變,...

三國佚事 巴蜀之危

problem description 話說天下大勢,分久必合,合久必分。卻道那魏蜀吳三國鼎力之時,多少英雄豪傑以熱血譜寫那千古之絕唱。古人誠不我欺,確是應了那句 一將功成萬骨枯 是夜,明月高懸。諸葛丞相輕搖羽扇,一臉愁苦。原來是日前蜀國戰事吃緊,丞相徹夜未眠,奮筆急書,於每個烽火台寫下安排書信。可...

三國佚事 巴蜀之危

time limit 1000ms memory limit 65536kb problem description 話說天下大勢,分久必合,合久必分。卻道那魏蜀吳三國鼎力之時,多少英雄豪傑以熱血譜寫那千古之絕唱。古人誠不我欺,確是應了那句 一將功成萬骨枯 是夜,明月高懸。諸葛丞相輕搖羽扇,一臉愁苦...