hdu 2048 神上帝以及老天爷
题目
解题思路:
典型的错排题目
首先求出所有的拿错的情况,然后求出错排的所有情况,以前者除以后者就是百分比
现在求对应的所有都拿错的情况。容易知道,f(1)=0,f(2)=1
然后,对于N个人,有n-1个人拿错票和n-2个人拿错票的情况
① 当有n-1个拿错票时,在加入一个人,只要第n个人和前面任意的n-1个人其中一个调换票就可以了,所以有f(n-1)*(n-1)。
②当有n-2个拿错票时,只能是没拿错的那个人与第n个交换票,而那个人可能是前面n-1个的任意一个,所以又有f(n-2)*(n-1)
所以错排结果为(n-1)*(f(n-1)+f(n-2))。
这道题,我自己肯定不会做,严重觉得自己高中数学白学了。
#include <stdio.h>
int main()
{
int a,i,c;
double sum;
double b[25];
scanf("%d",&a);
b[1]=0;
b[2]=1;
for(i=3;i<=20;i++)
{
b[i]=(i-1)*(b[i-1]+b[i-2]);
}
while(a--)
{
scanf("%d",&c);
sum=1;
for(i=1;i<=c;i++)
sum*=i;
printf("%.2lf%%\n",b[c]*100.0/sum);
}
return 0;
}
hdu 2048 神上帝以及老天爷的更多相关文章
- 杭电------2048神上帝以及老天爷(C语言写)
#include<stdio.h> ] = { -,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,- }; ] = { }; long long jiec ...
- HDU 2048 神、上帝以及老天爷(错排概率问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2048 神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 2048 神、上帝以及老天爷(错排)
神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- HDU 2048 神、上帝以及老天爷 【递推】【错排】
题目链接 Problem Description HDU 2006'10 ACM contest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这 ...
- HDU 2048 神、上帝以及老天爷(递归,错排,dp,概率)
中文题,错排,求概率,不解释,核心思路同 HDU 1465 错排简单思路可看:http://www.cnblogs.com/laiba2004/p/3235934.html //错排,但是我之前叫了几 ...
- hdu 2048 神、上帝以及老天爷
经典错排问题,算出n个人的排列可能,即求n!. 在本题中设定所有人即n个人全部拍错,即求n错排. 要求:求出其全部错排发生的概率 n错排 / n! * 100 以小数形式输出即可. #include ...
- HDU 2048 神、上帝以及老天爷( 错排 )
链接:传送门 思路:错排模板,典型错排问题,n个人所有人都不会抽到自己的方案数为 Dn = (n-1) * (Dn-1 + Dn-2) /******************************* ...
- HDU 2048:神、上帝以及老天爷(错排公式,递推)
神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- hdu 神、上帝以及老天爷
HDU 2006'10 ACM contest的颁奖晚会隆重开始了! 为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的: 首先,所有参加晚会的人员都将一张写有自己 ...
随机推荐
- Invoke,BeginInvoke的作用
这两个方法主要是让给出的方法在控件创建的线程上执行 凡是使用BeginInvoke和Invoke调用的线程都是在UI主线程中执行的
- fio 测试磁盘
root@rook-test:/# ceph osd status+----+-----------------------------+-------+-------+--------+------ ...
- mesos无执行器启动docker
生成taskInfo task = mesos_pb2.TaskInfo() task_id = name task.task_id.value = task_id task.slave_id.val ...
- python中使用Opencv进行人脸识别
上一节讲到人脸检测,现在讲一下人脸识别.具体是通过程序采集图像并进行训练,并且基于这些训练的图像对人脸进行动态识别. 人脸识别前所需要的人脸库可以通过两种方式获得:1.自己从视频获取图像 2.从人 ...
- blat
1) 产生背景---------------------------------------------------2002年的时候,随着人类基因组项目不断推进,需要将大量ESTs(300万) 及m ...
- easypanel api 文档
easypanel api 文档 Easypanel的api通信安全码在easypanel的服务器设置处设置. 接口名称有: add_vh 创建空间和修改空间 update_vh 暂停空间和恢复空间 ...
- Mac下MySQL卸载方法
mac下mysql的DMG格式安装内有安装文件,却没有卸载文件……很郁闷的事.1 sudo rm /usr/local/mysql2 sudo rm -rf /usr/local/mysql*3 su ...
- Intellij IDEA 热部署处理
1. 首先参考IDEA热部署同行经验分享: Intellij IDEA 4种配置热部署的方法 2. IDEA 热部署实战: springboot项目: 不要引入热部署工具包spring-boot- ...
- [leetcode]163. Missing Ranges缺失范围
Given a sorted integer array nums, where the range of elements are in the inclusive range [lower, up ...
- Mysql、Oracle、SqlServer的JDBC连接实现和对比(提供驱动包)
首先,我们需要准备数据库连接所需的jar包.目前mysql的驱动包可能比较好找,但是oracle和sqlserver的有很多,要找到能用的要花一点点心思,这里直接把下载地址和版本发送出来. Mysql ...