HDU 2068 RPG的錯排 (錯排+組合數)
RPG的錯排
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13530 Accepted Submission(s): 5536
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
POINT:
用錯排遞迴求出錯排數。
答對一半或以上就算過關,我們就求答錯(0-一半)的數量。
就是錯排數加上組合數。都不大,但是組合數別直接用階乘求,會爆LL。
如果組合數很大,肯定要取模,取模一般用質數,我們就可以用費馬小定理和Lucas來求大的組合數,顯然這題不需要。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define LL long long
LL k[30];
LL cp[30];
void init()//C(m,n)=C(m-1,n)+C(m-1,n-1);
{
k[0]=1;
for(int i=1;i<=25;i++)
{
k[i]=k[i-1]*i;
}
cp[1]=0;
cp[2]=1;
for(int i=3;i<=25;i++)
{
cp[i]=(i-1)*(cp[i-1]+cp[i-2]);
}
}
LL c(int n,int m){
int a=1;
if(m==0)
return 1;
for(int i=1;i<=m;i++){
a=a*(n-i+1);
a=a/i;//求組合數的一個技巧
}
return a;
}
int main()
{
init();
int n;
while(~scanf("%d",&n)&&n)
{
int x=n/2;
LL ans=1;
for(int i=0;i<=x;i++)
{
ans+=cp[i]*c(n,i);
}
printf("%lld\n",ans);
}
return 0;
}
相關文章
- 【ACM組合數學 | 錯排公式】寫信ACM公式
- 錯排問題
- coredns 排錯記DNS
- python五種除錯或排錯的方法Python除錯
- SAP Data Intelligence API執行出錯的排錯之道IntelAPI
- C中的匯流排錯誤和段錯誤
- 錯排問題如何做?
- IDEA WordCount jar包上傳spark除錯及排錯IdeaJARSpark除錯
- 一道有趣的golang排錯題Golang
- 24.10.25 遠端連線以及排錯
- 宜信容器雲排錯工具集
- 記:痛苦的排錯之” No input file specified.“
- 杭電OJ 2048 完全錯排的可能性
- bzoj2729: [HNOI2012]排隊(高精度+組合數學)
- Ubuntu系統定時作業無效果的排錯Ubuntu
- 素養賽Python複賽題——錯排問題Python
- SAP HANA Database Explorer 裡的 SQL 語句如何排錯 trouble shootDatabaseSQL
- PCIe掃盲——PCI匯流排的中斷和錯誤處理
- SAP Spartacus internationalization ( i18n ) 翻譯問題的排錯指南
- hdu 5698 瞬間移動 【質因數分解求組合數】
- Flink排程之排程器、排程策略、排程模式模式
- 排錯:New-Object : 找不到型別 [Microsoft.Online.Administration.StrongAuthenticationRequirement]Object型別ROSUIREM
- [翻譯]Java排錯指南 - 5 確定崩潰何地發生Java
- 【dp+組合數學】hdu 2018 多校第九場 1001 Rikka with Nash Equilibrium hdu 6415UI
- 增強產品組合助力愛立信"淨零排放"
- 記一次工作中使用spring-boot-activemq的排錯經歷SpringbootMQ
- HDU 1792 - A New Change Problem(規律,最大不能組合數及其個數)
- 傳送請求時攜帶了引數,但是瀏覽器network沒有顯示的排錯思路瀏覽器
- Python任務排程模組APSchedulerPython
- 程式設計師你是如何解決軟體系統的易排錯性?程式設計師
- Karmada 多雲容器編排引擎支援多排程組,助力成本最佳化
- MYSQL排錯指南學習筆記(一)排查及儲存引擎修復MySql筆記儲存引擎
- IIC序列匯流排的組成及工作原理
- 編排的藝術|K8S中的容器編排和應用編排K8S
- 排程器簡介,以及Linux的排程策略Linux
- linux網路配置及虛擬機器連線不上網排錯思路Linux虛擬機
- HDU-1792-( 兩個互質的數線性組合最大不能表示的數和不能表示數的個數)
- 【數學】組合數學 - 排列組合