RPG的错排

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6173    Accepted Submission(s): 2508

Problem Description
今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁。RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿,G是月野兔;第二次猜:R是草儿,P是月野兔,G是公主;第三次猜:R是草儿,P是公主,G是月野兔;......可怜的野骆驼第六次终于把RPG分清楚了。由于RPG的带动,做ACM的女生越来越多,我们的野骆驼想都知道她们,可现在有N多人,他要猜的次数可就多了,为了不为难野骆驼,女生们只要求他答对一半或以上就算过关,请问有多少组答案能使他顺利过关。
 
Input
输入的数据里有多个case,每个case包括一个n,代表有几个女生,(n<=25), n = 0输入结束。
 
Sample Input
1 2 0
 
Sample Output
1 1
 
Author
Rabbit
 
Source
 
错排公式  fn=(n-1)*(fn-1+fn-2);
 
此题是错排公式的一个扩展,就是第K错牌的和...
特别要注意算法的格式。。。
这里介绍一下比较规范的组合数的求解
/*@coder 龚细军*/

int  cm( int n ,int c)
{
//先比较 c=min{n-c,c}
if(*c>n) c=n-c; //由于cm(n,c)==cm(n,n-c);
int i,j,ret=;
for(i=,j=;i<n;i++)
{
ret*=(n-i);
while(j<=c&&(j%c==))
{
ret/=j;
j++;
}
}
return ret;
} //时间复杂度0(n*c)

此题的代码。。。。简答了啦。。

 #include<stdio.h>
int work(int n,int c) /*组合数求c(n,c)*/
{
if(n<*c) c=n-c; //c(n,c)=c(n,n-c)
int i,j,s=;
for(i=,j=;i<c;i++)
{
s*=(n-i); //精简一下避免出现超出int型
for( ; j<=c&&s%j==;++j) s/=j;
}
return s;
}
int main()
{
int i,n;;
_int64 sav[]={,,},ans;
for(i=;i<;i++)
sav[i]+=(i-)*(sav[i-]+sav[i-]);
while(scanf("%d",&n),n)
{
ans=;
for(i=(n+)/;i<=n;i++)
{
ans+=work(n,i)*sav[n-i];
}
printf("%I64d\n",ans);
}
return ;
}

HDUOJ-----2068RPG的错排的更多相关文章

  1. HDU——2068RPG的错排(错排公式)

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. 清北学堂模拟赛day7 错排问题

    /* 考虑一下已经放回m本书的情况,已经有书的格子不要管他,考虑没有书的格子,不考虑错排有(n-m)!种,在逐步考虑有放回原来位置的情况,已经放出去和已经被占好的格子,不用考虑,剩下全都考虑,设t=x ...

  3. hdu2068RPG的错排

    Problem Description 今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁.RPG给他机会让他猜猜,第一次猜:R ...

  4. HDU 2068 RPG的错排

    要求答对一半或以上就算过关,请问有多少组答案能使他顺利过关. 逆向思维,求答错一半或以下的组数 1,错排 错排公式的由来 pala提出的问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放 ...

  5. RPG的错排

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  6. hdu 2048 神、上帝以及老天爷(错排)

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

  7. HDU 2048 神、上帝以及老天爷(递归,错排,dp,概率)

    中文题,错排,求概率,不解释,核心思路同 HDU 1465 错排简单思路可看:http://www.cnblogs.com/laiba2004/p/3235934.html //错排,但是我之前叫了几 ...

  8. 数学(错排):BZOJ 4517: [Sdoi2016]排列计数

    4517: [Sdoi2016]排列计数 Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 693  Solved: 434[Submit][Status ...

  9. [HDU 2049] 不容易系列之(4)——考新郎 (错排问题)

    不容易系列之(4)——考新郎 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 题目大意: 有N对新婚夫妇,其中所有的新娘站成一列,都盖上了红布. ...

  10. [HDU 2068] RPG的错排 (错排问题)

    RPG的错排 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2068 题目大意: 有N个人对应N个名字,然后你去把每一个名字对应到每个人,只要求答对一半 ...

随机推荐

  1. python异常信息获取

    1.python调试的时候获取异常信息 import traceback print '######################################################## ...

  2. jenkins error: "no valid crumb was included in the request"

    一.问题描述(Problem Description): 在jenkins中创建新任务时候选择“拷贝已存在任务”,点击OK,跳转到下一步时候弹出如下错误信息:"No valid crumb ...

  3. 3D屏保程序:汉诺塔

    学过程序的人一定记得汉诺塔.我们学的第一个程序是HelloWorld,而碰到的第一个坑就是汉诺塔,短短十几行代码,不知花费了多少时间精力去理解.我记得当年的开发环境还是蓝屏的,汉诺塔程序的输出还是一行 ...

  4. AngularJS 用 $http.jsonp 跨域SyntaxError问题

    必须添加参数:callback=JSON_CALLBACK , 才能进success方法,如下: $http.jsonp("https://request.address.json?call ...

  5. a标签默认颜色

    <a href="www.baidu.com">test</a> <span style="color:#428bca;"> ...

  6. DIRECT Project

    http://www.healthit.gov/policy-researchers-implementers/direct-project Launched in March 2010 as a p ...

  7. COM如何区分套间线程(apartment thread)和自由线程(free thread)

     

  8. Nuget添加新项目的问题

    为已有的几个项目添加了一个nuget package 后,在解决方法中添加了一个新项目,然后想把这个nuget package添加到这个新建的项目中去,可以此时无法添加.     怎么办那? [解决方 ...

  9. 内有干货!2个人3个月怎样从零完毕一款社区App《林卡》

    嘿,大家好.我是不灭的小灯灯,我赌5毛你没听说过我的名字... 好啦.这篇不是鸡汤,是经验吐槽.干货分享! 所以乱七八糟的就不多说了.直接切入正题. 先说下自己的情况背景,眼下尚未毕业.非计算机专业, ...

  10. SMTP 协议系列一

    解说一下DOS下telnet命令发送邮件 步骤,以我的163邮箱为例 1.開始-->cmd 进入到dos里面 2.输入telnet  smtp.163.com  25 C: \Users \Ad ...