博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电oj2047-2049、2051-2053、2056、2058
阅读量:6251 次
发布时间:2019-06-22

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

2047  阿牛的EOF牛肉串

1 #include
2 3 int main(){ 4 int n,i; 5 _int64 s[51]; 6 while(~scanf("%d",&n)){ 7 s[1]=3;s[2]=8; 8 for(i=3;i<=n;i++){ 9 s[i] = s[i-1]*2 + s[i-2]*2;10 }11 printf("%I64d\n",s[n]);12 }13 14 15 }

 

2048  神、上帝以及老天爷

 

1 #include
2 3 int main(){ 4 int n,m,i; 5 _int64 s[21][2]; 6 while(~scanf("%d",&n)){ 7 while(n--){ 8 scanf("%d",&m); 9 s[1][0] = 0;s[2][0] = 1;s[1][1] = 1;s[2][1] = 2;10 for(i=3;i<=m;i++){11 s[i][0] = (i-1)*(s[i-1][0] + s[i-2][0]);12 s[i][1] = s[i-1][1] * i;13 }14 printf("%.2lf%%\n",s[m][0]*100.00/s[m][1]);15 }16 }17 18 }

转一个错排公式

错排公式推导:

当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

第二步,放编号为k的元素,这时有两种情况:⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法;

综上得到

D(n) = (n-1) [D(n-2) + D(n-1)]

---------------------
作者:程序小白_龙
来源:CSDN
原文:https://blog.csdn.net/dragon_dai_2017/article/details/70880960
版权声明:本文为博主原创文章,转载请附上博文链接!

 

2049  不容易系列之(4)——考新郎

1 #include
2 3 int main(){ 4 int c,n,m,i,j; 5 _int64 s[21],num1,num2; 6 s[1] = 0;s[2] = 1; 7 for(i=3;i<21;i++){ 8 s[i] = (i-1)*(s[i-1] + s[i-2]); 9 }10 while(~scanf("%d",&c)){11 while(c--){12 scanf("%d %d",&n,&m);13 j=n;num1=1;num2=1;14 for(i=m;i>0;i--){15 num1 *= j;16 num2 *= i;17 j--;18 }19 printf("%I64d\n",num1/num2*s[m]);20 }21 }22 23 }

 

 

2051  Bitset

1 #include
2 3 int main(){ 4 int n,i,j,s[50]; 5 while(~scanf("%d",&n)){ 6 i=0; 7 while(n/2>=1){ 8 s[i] = n%2; 9 i++;10 n /= 2;11 }12 s[i] = 1;13 for(j=i;j>=0;j--){14 printf("%d",s[j]);15 }16 printf("\n");17 }18 19 20 }

 

2052   Picture

1 #include
2 3 int main(){ 4 int n,m,i,j; 5 char s[80][80]; 6 while(scanf("%d %d",&n,&m)!=EOF){ 7 for(i=0;i<=m+1;i++){ 8 for(j=0;j<=n+1;j++){ 9 if(i==0 || i==m+1){10 s[i][j] = '-';11 }else if(j==0 || j==n+1){12 s[i][j] = '|';13 }else{14 s[i][j] = ' ';15 }16 }17 }18 s[0][0] = '+';s[0][n+1] = '+';19 s[m+1][0] = '+';s[m+1][n+1] = '+';20 for(i=0;i<=m+1;i++){21 for(j=0;j<=n+1;j++){22 printf("%c",s[i][j]);23 }24 printf("\n");25 }26 printf("\n");27 }28 }

 

2053   Switch Game

1 #include
2 3 int main(){ 4 int n,i,count; 5 while(~scanf("%d",&n)){ 6 count = 0; 7 for(i=1;i<=n;i++){ 8 if(n%i==0){count++;} 9 }10 if(count%2==0){printf("0\n");}11 else{printf("1\n");}12 }13 }

 

2056  Rectangles

1 #include
2 3 void sort(double s[]){ 4 int i,j; 5 double temp; 6 for(i=1;i<5;i++){ 7 for(j=4;j>i;j--){ 8 if(s[i]>s[j]){ 9 temp = s[i];10 s[i] = s[j];11 s[j] = temp;12 }13 }14 }15 16 }17 18 int main(){19 int i,j;20 double x[10],y[10],temp;21 while(~scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&x[1],&y[1],&x[2],&y[2],&x[3],&y[3],&x[4],&y[4])){22 if((x[3]>x[1]&&x[4]>x[1]&&x[3]>x[2]&&x[4]>x[2])||(x[3]
y[1]&&y[4]>y[1]&&y[3]>y[2]&&y[4]>y[2])||(y[3]

 

2058  The sum problem

 

1 #include
2 #include
3 4 int main(){ 5 int n,m,i,a; 6 while(~scanf("%d %d",&n,&m)){ 7 if(n==0&&m==0){
break;} 8 for(i=sqrt(m*2);i>0;i--){ 9 a = (m-(i-1)*i/2)/i;10 if(a*i+i*(i-1)/2==m){11 printf("[%d,%d]\n",a,a+i-1);12 }13 }14 printf("\n");15 }16 }

 

转载于:https://www.cnblogs.com/Ragd0ll/p/10498821.html

你可能感兴趣的文章
php网站开发开题报告,基于PHP的网上租车租赁网站设计与实现开题报告
查看>>
用matlab怎样表示褶积,信号的时域表示以及卷积运算(MATLAB)
查看>>
mysql 命令 字符集,MySQL字符集的设置
查看>>
php登录半透明,WordPress透明OAuth 1.0使用PHP登录
查看>>
php开发信息发布平台思路,基于PHP的大学信息发布平台设计与实现.doc
查看>>
php使用163使用465端口吗,在CentOS 7系统里使用465端口发送邮件
查看>>
java关联vss 80020009,80020009: Invalid password[src=SourceSafe,guid=null]
查看>>
java复制文件到指定文件夹下,java:把一个文件夹中的所有文件复制到指定文件夹下...
查看>>
matlab足球赛排名问题程序,足球队排名问题及解决方法.doc
查看>>
ubuntu php5-imap,在Ubuntu 11上安装具有IMAP / Kerberos支持的PHP的问题
查看>>
php圣经 源码,基于PHP的圣经读者用剑模块和diatheke
查看>>
php中的$this-%3efetch,Zend DB fetchAll(): where子句數組帶有IN操作符
查看>>
李思琼php,nginx单机1w并发优化
查看>>
怎么手动设置oracle,手把手设置win7系统手动启动Oracle服务的设置方法
查看>>
oracle fk作用,oracle pk&fk
查看>>
oracle裂块是什么意思,Oracle索引块分裂split信息汇总
查看>>
php构造函数创建对象,7.10 构造函数来创建对象
查看>>
oracle解密后台包,oracle9i加密解密包用法
查看>>
oracle数据库nmon日志在哪,oracle技术之nmon使用说明
查看>>
oracle10g实例修改表空间,oracle10g建表空间和修改oracle字符和删除表空间和用户(加 标注)...
查看>>