遞推遞迴練習H 三國佚事 巴蜀之危

2021-07-29 12:28:28 字數 1134 閱讀 4582

description

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

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

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

input

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

output

輸出書信傳錯的情況數。

sample input

136
sample output

02265
這道題大意是如果n封信全部送錯,問有幾種送錯的方式;

思路如下:

1.先設有f(n)種送錯的方式;

2.假設第a封信送給了第b個人,第b封信送給了第a個人,那麼信送錯的方式有f(n-2)種;

其次這種方式有n-1次發生的機會,即(n-1)*f

(n-2)種;

3.假設第a封信送給了第b個人,第b封信沒有送給第a個人,那麼可以將第a個人看成第b個人,因為b封信不能送給他,那麼情況就有f(n-1)種,其次這種方式有n-1次發生的機會,即

(n-1)*f

(n-1)種;

**如下:

#includeusing namespace std;

int main()

; for(i=4;i<=20;i++)

while(cin>>n)

cout<

遞推遞迴練習H三國佚事 巴蜀之危

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

H 三國佚事 巴蜀之危

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

H 三國佚事 巴蜀之危

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