博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 新生晚会
阅读量:6246 次
发布时间:2019-06-22

本文共 2069 字,大约阅读时间需要 6 分钟。

Problem Description
开学了,杭电又迎来了好多新生。ACMer想为新生准备一个节目。来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法?
 

 

Input
数据的第一行包括一个正整数T,接下来有T组数据,每组数据占一行。
每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)
 

 

Output
每组数据输出一个整数,每个输出占一行
 

 

Sample Input
5 3 2 5 3 4 4 3 6 8 0
 

 

Sample Output
3 10 1 0 1
 

 刚开始的思路

二项式系数C(nk)满足下面的要求:

C(
n, 0) = 
C(
n
n) = 1 for all 
n > 0;
C(
n
k) = 
C(
n − 1, 
k − 1) + 
C(
n − 1, 
k) for all 0 < 
k < 
n.
题目要求根据给定的n和k(0 ≤ 
k ≤ 
n < 2
31
n > 0)计算C(n,k),典型的递归问题。
但是如果采用递归,当n的值比较大的时候,会堆栈益处。而上面的表达式应该有相应的公式。如果采用公式计算就会变的简单了。
但是总是WA,最后发现是超出范围!!!
1 #include 
2 #include
3 using namespace std; 4 int zuhe(int n,int k) 5 { 6 int *result = new int[n]; 7 for(int i=1;i<=n;i++) 8 { 9 result[i] = 1;10 for(int j=i-1;j>=1;j--)11 {12 result[j] = result[j-1]+result[j];13 }14 result[0] = 1;15 }16 return result[k];17 }18 int main()19 {20 int t;21 scanf("%d",&t);22 while(t--)23 {24 int a,b;25 scanf("%d%d",&a,&b);26 if(b>a)27 {28 printf("0\n");29 continue;30 }31 printf("%d\n",zuhe(a,b));32 }33 return 0;34 }

可以这样:

1 #include
2 using namespace std; 3 int c[31][31]; 4 int main() 5 { 6 int i,j; 7 for(i=1;i<31;i++) 8 {c[i][0]=1;c[i][1]=i;} 9 for(i=2;i<31;i++)10 for(j=2;j<=i;j++)11 c[i][j]=c[i-1][j]+c[i-1][j-1];12 int t,n,m;13 while(scanf("%d",&t)!=EOF)14 {15 while(t--)16 {17 scanf("%d%d",&n,&m);18 printf("%d\n",c[n][m]);19 }20 }21 return 0;22 }

 

 

之后通过了解:

1 #include 
2 #include
3 using namespace std; 4 int main(void) 5 { 6 int m,n,t; 7 long long sum; 8 cin>>t; 9 while(t--)10 {11 cin>>n>>m;12 sum=1;13 for(int i=1;i<=m;i++)14 {15 sum*=n--;16 sum/=i;17 }18 printf("%lld\n",sum);19 }20 return 0;21 }

 

转载于:https://www.cnblogs.com/wangmengmeng/p/4770681.html

你可能感兴趣的文章
Python Day30
查看>>
WebRequest对DNS说:没有你我依然可以
查看>>
jvm垃圾收集小记
查看>>
MonthCalendar的mousedown方法选择日期
查看>>
用于pytorch的H5Dataset接口(类比TensorDataset接口)
查看>>
Python-入门第三篇
查看>>
解决Cannot change version of project facet Dynamic Web M
查看>>
mysql备份与恢复
查看>>
hadoop实例sort
查看>>
jstat (JVM统计监测工具)
查看>>
git 免密码push,pull
查看>>
js懒加载
查看>>
计算某时间是年中第几周。
查看>>
【论文阅读】A mixed-scale dense convolutional neural network for image analysis
查看>>
用正则表达式匹配网址URL中最后一个反斜杠/后面的内容
查看>>
Define custom @Required-style annotation in Spring
查看>>
General: Know How to Use InetAddress
查看>>
php 克隆和引用类
查看>>
Linux编程之变量
查看>>
weblogic的下载安装及myeclipse的配置
查看>>