HDU2048 神、上帝以及老天爷
2015-01-27 22:21
295 查看
#include <stdio.h> #include <stdlib.h> int main() { int c,n,i; __int64 d[20]; double p; scanf("%d",&c); d[1]=0;d[2]=1; for (i=3;i<=20;i++) d[i]=(d[i-1]+d[i-2])*(i-1); while (c--) { scanf("%d", &n); p=0.1*d ; for (i=2;i<=n;i++) p=p/i; p=p*1000; printf("%.2lf%%\n", p); } return 0; }
错排问题。
引用自百度:
当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.
第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;
第二步,放编号为k的元素,这时有两种情况:⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法;
综上得到
D(n) = (n-1) [D(n-2) + D(n-1)]
注意点:如何输出%: %%
相关文章推荐
- 神、上帝以及老天爷 hdu2048 递推,错排
- 神、上帝以及老天爷(hdu2048)(错排)
- HDU2048(神、上帝以及老天爷)
- (简单递归)HDU2048神、上帝以及老天爷
- hdu2048神、上帝以及老天爷(排错问题)
- HDU2048 神、上帝以及老天爷(错排)
- 神、上帝以及老天爷[HDU2048]
- hdu2048 神、上帝以及老天爷
- hdu2048神、上帝以及老天爷
- hdu2048 神、上帝以及老天爷(错排)
- HDU2048----神、上帝以及老天爷
- HDU2048 神、上帝以及老天爷
- HDU2048_神、上帝以及老天爷
- HDU2048 神、上帝以及老天爷
- HDU2048神,上帝以及老天爷
- HDU2048 神,上帝以及老天爷 错排
- hdu2048 神、上帝以及老天爷【错排问题】【容斥原理】
- hdu2048 神、上帝以及老天爷
- 神、上帝以及老天爷--hdu2048(错排,递推)
- hdu2048 神、上帝以及老天爷