如果将两种方案中每个农夫都购买了相同的奶牛看作是相同的销售方案。那么农夫 John 一共有多少种不同的销售方案呢?
3
1
2
3
0
1
6
对于50%的数据,N≤20,
对于100%的数据,N≤2000.
#include<bits/stdc++.h> #define mod 10000007 typedef long long ll; using namespace std; ll dp[2005]; void init(){ dp[1]=0; dp[2]=1; for(ll i=3;i<=2000;i++){ dp[i]=(dp[i]+(i-1)*2*dp[i-1]%mod+(i-1)*(i-2)*dp[i-1]%mod)%mod; dp[i]=(dp[i]+(i-1)*(i-1)*dp[i-2]%mod+(i-1)*(i-2)/2*(i-1)*dp[i-2]%mod)%mod; } } int main() { init(); ll t;scanf("%lld",&t); while(t--){ ll n;scanf("%lld",&n); printf("%lld\n",dp[n]); } return 0; }
原文:https://www.cnblogs.com/lllxq/p/11154200.html