hdu4535
題意:
? ? ? ? ?
吉哥系列故事——禮尚往來
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 908 Accepted Submission(s): 481
Problem Description 吉哥還是那個吉哥
那個江湖人稱“嘰嘰哥”的基哥
每當節日來臨,女友眾多的嘰嘰哥總是能從全國各地的女友那里收到各種禮物。
有禮物收到當然值得高興,但回禮確是件麻煩的事!
無論多麻煩,總不好意思收禮而不回禮,那也不是嘰嘰哥的風格。
現在,即愛面子又摳門的嘰嘰哥想出了一個絕妙的好辦法:他準備將各個女友送來的禮物合理分配,再回送不同女友,這樣就不用再花錢買禮物了!
假設嘰嘰哥的n個女友每人送他一個禮物(每個人送的禮物都不相同),現在他需要合理安排,再回送每個女友一份禮物,重點是,回送的禮物不能是這個女友之前送他的那個禮物,不然,嘰嘰哥可就攤上事了,攤上大事了......
現在,嘰嘰哥想知道總共有多少種滿足條件的回送禮物方案呢?
Input 輸入數據第一行是個正整數T,表示總共有T組測試數據(T <= 100);
每組數據包含一個正整數n,表示嘰嘰哥的女友個數為n( 1 <= n <= 100 )。
Output 請輸出可能的方案數,因為方案數可能比較大,請將結果對10^9 + 7 取模后再輸出。
每組輸出占一行。
Sample Input 3 1 2 4
Sample Output 0 1 9思路:? 水的錯排公式,num[i] = (i - 1) * (num[i-1] + num[i-2])... #include<stdio.h> int main () {__int64 num[105];int n ,t;__int64 i;scanf("%d" ,&t);num[1] = 0;num[2] = 1;for(i = 3 ;i <= 102 ;i ++)num[i] = (i - 1) * (num[i-1] + num[i-2]) % 1000000007;while(t--){scanf("%d" ,&n);printf("%d\n" ,num[n]);}return 0; }
總結
- 上一篇: hdu4503 概率
- 下一篇: hdu2413 二分+二分匹配