HDU 2006'10 ACM contest的颁奖晚会隆重开始了!
为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的:

首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中;
然后,待所有字条加入完毕,每人从箱中取一个字条;
最后,如果取得的字条上写的就是自己的名字,那么“恭喜你,中奖了!”

大家可以想象一下当时的气氛之热烈,毕竟中奖者的奖品是大家梦寐以求的Twins签名照呀!不过,正如所有试图设计的喜剧往往以悲剧结尾,这次抽奖活动最后竟然没有一个人中奖!

我的神、上帝以及老天爷呀,怎么会这样呢?

不过,先不要激动,现在问题来了,你能计算一下发生这种情况的概率吗?

不会算?难道你也想以悲剧结尾?!
Input

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(1<n<=20),表示参加抽奖的人数。

Output

对于每个测试实例,请输出发生这种情况的百分比,每个实例的输出占一行, 结果保留两位小数(四舍五入),具体格式请参照sample output。

Sample Input

1
2

Sample Output

50.00%
典型的错排题,总体解题思路是计算出n个人拿票的总情况数和拿错票的总情况数,再相除即可算得概率。
总情况数很简单,就是计算n的阶乘
错排情况:对于第n个人来说,如果前n-1个人都已经错拿,那么他只要与其中任何一人交换票即可,所以有(n-1)*fault(n-1)
如果前n-1个人中有n-2个人是错拿的,有1个人拿的是对的,那么第n个人与此人交换票即可,因为这个人是n-1人中任意一人,所以有(n-1)*fault(n-2)
#include <stdio.h>
#include <stdlib.h>int main()
{double sum[21]={0,1,2},fault[21]={0,0,1},p;int n,i;for(i=3;i<21;i++){sum[i]=sum[i-1]*i;fault[i]=(i-1)*(fault[i-1]+fault[i-2]);}scanf("%d",&n);for(i=0;i<n;i++){int m;scanf("%d",&m);p=fault[m]/sum[m]*100;printf("%.2lf%%\n",p);}return 0;
}

O - 神、上帝以及老天爷相关推荐

  1. HDU2048 神、上帝以及老天爷【递推】

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  2. 神、上帝以及老天爷(递推公式)

    神.上帝以及老天爷(递推公式) Problem Description HDU 2006'10 ACM contest的颁奖晚会隆重开始了! 为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动 ...

  3. HDU神、上帝以及老天爷(错排公式)

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. hdu 2048 错排公式 神、上帝以及老天爷

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  5. HDUOJ 2048 - 神、上帝以及老天爷(错排公式)

    原题: Problem Description -- 首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中: 然后,待所有字条加入完毕,每人从箱中取一个字条: 最后,如果取得的字条上写的就是 ...

  6. HDU2048神、上帝以及老天爷 (错排公式)

    错排问题,又称更列问题,是组合数学中的问题之一.对于它的研究最早可以追溯到十八世纪,当时他被数学家尼古拉·伯努利和欧拉研究,因此在历史上也被称为伯努利--欧拉的错装信封问题.这个问题有许多具体的版本, ...

  7. 神、上帝以及老天爷(错位排序)

    Description 协会活动为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的: 首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中: 然后,待所有 ...

  8. 【HDU 2048】神、上帝以及老天爷(错位排序)

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  9. O-神、上帝以及老天爷

    HDU 2006'10 ACM contest的颁奖晚会隆重开始了!  为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的: 首先,所有参加晚会的人员都将一张写有自 ...

最新文章

  1. 【c语言】符号常量的使用
  2. C语言入门(4)——常量、变量与赋值
  3. web前端入门学习(纯干货)
  4. 只收藏不点赞的人是什么心理???
  5. python经典程序实例_Python入门经典实例(一)
  6. Java数组排序(选择排序)
  7. 将16进制的字符串转换为对应的字符
  8. Apache日志格式与配置
  9. 《白话大数据和机器学习》学习笔记1
  10. 如何稳定eBay店铺评分
  11. 【flask高级】结合源码解决flask经典报错:Working outside of application context
  12. 上海网站备案人工服务器,上海网站备案中心
  13. HDMI/type-c一线通EDP驱动板|应用高清便携显示器支持2K/1080P
  14. 天刀手游服务器维护11月7号,天涯明月刀手游11月11日正式服维护公告
  15. JavaScript-Tool:Numeral.js
  16. 狂神CSS3学习笔记
  17. 一文解析霍尔效应传感器
  18. Python 学生管理系统
  19. 应用大数据实现精准服务
  20. linux-磁盘管理与文件系统(三)-磁盘配额

热门文章

  1. The request was rejected because the URL was not normalized
  2. NetSuite - 高级项目利润报告
  3. 很多单片机老师傅都不会自己绘制电路图,今天我来教你
  4. python学习,8道Python基础练习题
  5. 大学物理B2 知识点整理
  6. webrtc代码走读四(rtp包格式)
  7. 计算机专业申请留学,美国出国留学计算机专业申请难度分析
  8. 近世代数 笔记和题型连载:第四章(半群和独异点)
  9. 电路板测试机检测软件,PCB线路板板智能检测的方法
  10. 关于开关电源相关知识及应用