遞推-*三國佚事——巴蜀之危

HowieLee59發表於2019-03-25

Problem Description

話說天下大勢,分久必合,合久必分。。。卻道那魏蜀吳三國鼎力之時,多少英雄豪傑以熱血譜寫那千古之絕唱。古人誠不我欺,確是應了那句“一將功成萬骨枯”。 
是夜,明月高懸。諸葛丞相輕搖羽扇,一臉愁苦。原來是日前蜀國戰事吃緊,丞相徹夜未眠,奮筆急書,於每個烽火臺寫下安排書信。可想,這戰事多變,丞相運籌 帷幄,給諸多烽火臺定下不同計策,卻也實屬不易。
誰成想這送信小廝竟投靠曹操,給諸葛丞相暗中使壞。這小廝將每封書信都投錯了烽火臺,居然沒有一封是對的。不多時小廝便被抓住,前後之事卻也明朗。這可急壞了諸葛丞相,這書信傳錯,勢必會讓蜀軍自亂陣腳,不攻自破啊! 諸葛丞相現在想知道被這小廝一亂,這書信傳錯共有多少種情況。

Input

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

Output

         輸出書信傳錯的情況數。

Sample Input

1
3
6

Sample Output

0
2
265
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
    int a;
    while(~scanf("%d",&a)){
        if(a == 0){
            break;
        }
        long long int arr[100];
        arr[1] = 0;
        arr[2] = 1;
        for(int i = 3 ; i <= a; i++){
            arr[i] = (i - 1) * (arr[i - 1] + arr[i - 2]);
        }
        printf("%lld\n",arr[a]);
    }
    return 0;
}

 

相關文章