hdu 4535 吉哥系列故事——礼尚往来

http://acm.hdu.edu.cn/showproblem.php?pid=4535

   错排公式:a[i]=(i-1)*(a[i-2]+a[i-1]);

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define ll long long
 5 #define maxn 10000
 6 using namespace std;
 7 const ll mod=1000000000+7;
 8 
 9 int t;
10 int n;
11 ll a[maxn];
12 
13 int main()
14 {
15      scanf("%d",&t);
16      a[1]=0; a[2]=1;
17      for(int i=3; i<=100; i++)
18      {
19          a[i]=((i-1)*(a[i-2]+a[i-1]))%mod;
20      }
21      while(t--)
22      {
23          scanf("%d",&n);
24          printf("%lld
",a[n]);
25      }
26      return 0;
27 }
View Code
原文地址:https://www.cnblogs.com/fanminghui/p/4023826.html