三國佚事 巴蜀之危

2022-07-31 11:00:17 字數 971 閱讀 5311

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

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

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

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

輸出書信傳錯的情況數。

1

36

0

2265

view code

1 include2

intmain()

315 printf("

%lld\n

", f[n]) ;16}

17return0;

18 }

總結:這是錯排問題,

當n個編號元素放在n個編號位置,元素編號與位置編號各不對應的方法數用m(n)表示,那麼m(n-1)就表示n-1個編號元素放在n-1個編號位置,各不對應的方法數,其它類推.

第一步,把第n個元素放在乙個位置,比如位置k,一共有n-1種方法;

第二步,放編號為k的元素,這時有兩種情況⑴把它放到位置n,那麼,對於剩下的n-1個元素,由於第k個元素放到了位置n,剩下n-2個元素就有m(n-2)種方法;⑵第k個元素不把它放到位置n,這時,對於這n-1個元素,有m(n-1)種方法;

綜上得到

m(n)=(n-1)[m(n-2)+m(n-1)]

特殊地,m⑴=0,m⑵=1

三國佚事 巴蜀之危

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

三國佚事 巴蜀之危

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

三國佚事 巴蜀之危

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