2047  阿牛的EOF牛肉串

 1 #include<stdio.h>
 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<stdio.h>
 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<stdio.h>
 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<stdio.h>
 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<stdio.h>
 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<stdio.h>
 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<stdio.h>
 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]<x[1]&&x[4]<x[1]&&x[3]<x[2]&&x[4]<x[2])||(y[3]>y[1]&&y[4]>y[1]&&y[3]>y[2]&&y[4]>y[2])||(y[3]<y[1]&&y[4]<y[1]&&y[3]<y[2]&&y[4]<y[2])){
23             printf("0.00\n");
24         }else{
25             sort(x);
26             sort(y);
27             printf("%.2lf\n",(x[3]-x[2])*(y[3]-y[2]));
28         }
29     }
30 }

2058  The sum problem

 1 #include<stdio.h>
 2 #include<math.h>
 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

杭电oj2047-2049、2051-2053、2056、2058相关推荐

  1. HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)

    今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的 题号 题名 题号 题名 2000 ASCII码排序 2 ...

  2. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

  3. 杭电ACM(HDUOJ)试题分类

    杭电ACM试题分类 第一篇 1001 这个就不用说了吧                      1002 简单的大数                            1003 DP经典问题,最 ...

  4. 杭电acm第2304题答案c语言,【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...

  5. 杭电ACM题目类型整理

    版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...

  6. 杭电acm2151题java的解法,杭电ACM题型分类

    杭电ACM题型分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1 ...

  7. 【HDU100】杭电入门一百道 C++ 全 题 解

    " Ctrl AC!一起 AC!" 题目集合链接:HDU2000-2099http://acm.hdu.edu.cn/listproblem.php?vol=11 前言 1. 好像 ...

  8. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

  9. 【ACM】杭电OJ 1106 函数atoi

    函数atoi是把字符串转化成整数的函数,头文件为 #include "stdlib.h" e.g. 运行环境:Dev-C++ 5.11 杭电1106 调用了sort函数,运行的时间 ...

最新文章

  1. MATLAB 1\n\n
  2. 《Asp.Net 2.0 揭秘》读书笔记(一)
  3. 找回消失的ubuntu启动选项
  4. Workflow WF Reference Links for 2009-02-13
  5. ASP.NET自定义错误页面
  6. linux二进制数据16进制数据转换,[轉]16进制字符文本/二进制文件迷你互转器
  7. 【网络安全】考试试卷十一
  8. linux内核编译串口驱动,ARM Linux下安装CH341串口驱动
  9. 王道数据结构代码笔记
  10. 数学分析_幂级数收敛分析
  11. 华为云备份显示服务器异常(1008),云盘服务器异常
  12. 基于JAVA的校园二手交易平台(附:源码 论文 数据库文件)
  13. 电线对接和端接为什么要使用连接器?
  14. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(实现篇)
  15. SEAndroid安全机制框架分析
  16. 集线器、交换机以及路由器异同 + 冲突域和广播域详解
  17. 新媒体短视频营销玩法
  18. jQuery滑动效果
  19. 视频教程-实用数据分析:数据分析师从小白到精通-大数据
  20. Kali虚拟机Virtual Machines解压即可使用

热门文章

  1. Paxos算法(Basic Paxos 与 Multi-Paxos思想)
  2. leetcode 455. 分发饼干 思考分析
  3. 合约 cd 模式_CD的完整形式是什么?
  4. Python中的append()和extend()
  5. Java LinkedList对象的get(int index)方法与示例
  6. python字符串转浮点数_如何在Python中检查字符串是否为数字(浮点数)?
  7. Python匿名函数---排序
  8. linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...
  9. ThinkPHP5.1中使用Redis来缓存
  10. 详解list容器(应用+模拟实现)