HDU 4535 吉哥系列故事——禮尚往來( 錯排問題)

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
 

Source
 

Recommend
liuyiding


AC代碼:

 

#include<stdio.h>
long long d[102];
int main()
{
    int T,n,i;
    scanf("%d",&T);
    for(i=0;i<102;i++) d[i]=0;
    d[1]=0;
    d[2]=1;
    for(i=3;i<=100;i++)    
        d[i]=((i-1)*(d[i-1]%1000000007+d[i-2]%1000000007))%1000000007;
       
    while(T--)
    { 
       
       scanf("%d",&n);      
       printf("%lld\n",d[n]);                  
    }
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章