vijosP1210 盒子与球
vijosP1210 盒子与球
【思路】
Stirling+全排列。

因为第二类stirling所求是没有标明盒子顺序的方案数,所以最后需要乘一个全排列。
【代码】
1 #include<iostream> 2 using namespace std; 3 4 int n,k; 5 6 inline int S(int n,int k) { 7 if(k==0 || k>n) return 0; 8 if(k==n) return 1; 9 10 cout<<n<<" "<<k<<"\n"; 11 return S(n-1,k-1)+k*S(n-1,k); 12 } 13 14 int main() { 15 cin>>n>>k; 16 int P=1; for(int i=1;i<=k;i++) P*=i; 17 cout<<P*S(n,k); 18 }
如果数据范围加大可以尝试对S记忆化。
posted on 2015-10-13 11:15 hahalidaxin 阅读(153) 评论(0) 收藏 举报
浙公网安备 33010602011771号