杭电oj2047-2049、2051-2053、2056、2058

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Power BI:M与DAX以及度量与计算列

When I embarked on my Power BI journey I was almost immediately slapped with an onslaught of foreign and perplexing terms that all seemed to do similar, but somehow different, things.当我开始Power BI之旅时&#xff0c;我几乎立刻受到了外国和困惑术语的冲击&am…

git 基本命令和操作

设置全局用户名密码 $ git config --global user.name runoob $ git config --global user.email testrunoob.comgit init:初始化仓库 创建新的 Git 仓库 git clone: 拷贝一个 Git 仓库到本地 : git clone [url]git add:将新增的文件添加到缓存 : git add test.htmlgit status …

基于easyui开发Web版Activiti流程定制器详解(三)——页面结构(上)

&#xfeff;&#xfeff;上一篇介绍了定制器相关的文件&#xff0c;这篇我们来看看整个定制器的界面部分&#xff0c;了解了页面结构有助于更好的理解定制器的实现&#xff0c;那么现在开始吧&#xff01; 首先&#xff0c;我们来看看整体的结构&#xff1a; 整体结构比较简单…

bzoj 4300 绝世好题 —— 思路

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id4300 记录一下 mx[j] 表示以第 j 位上是1的元素结尾的子序列长度最大值&#xff0c;转移即可。 代码如下&#xff1a; #include<iostream> #include<cstdio> #include<cstring> #include&…

基于easyui开发Web版Activiti流程定制器详解(四)——页面结构(下)

&#xfeff;&#xfeff;题外话&#xff1a; 这两天周末在家陪老婆和儿子没上来更新请大家见谅&#xff01;上一篇介绍了调色板和画布区的页面结构&#xff0c;这篇讲解一下属性区的结构也是定制器最重要的一个页面。 属性区整体页面结构如图&#xff1a; 在这个区域可以定义工…

梯度下降法优化目标函数_如何通过3个简单的步骤区分梯度下降目标函数

梯度下降法优化目标函数Nowadays we can learn about domains that were usually reserved for academic communities. From Artificial Intelligence to Quantum Physics, we can browse an enormous amount of information available on the Internet and benefit from it.如…

FFmpeg 是如何实现多态的?

2019独角兽企业重金招聘Python工程师标准>>> 前言 众所周知&#xff0c;FFmpeg 在解码的时候&#xff0c;无论输入文件是 MP4 文件还是 FLV 文件&#xff0c;或者其它文件格式&#xff0c;都能正确解封装、解码&#xff0c;而代码不需要针对不同的格式做出任何改变&…

基于easyui开发Web版Activiti流程定制器详解(五)——Draw2d详解(一)

&#xfeff;&#xfeff;背景&#xff1a; 小弟工作已有十年有余&#xff0c;期间接触了不少工作流产品&#xff0c;个人比较喜欢的还是JBPM&#xff0c;因为出自名门Jboss所以备受推崇&#xff0c;但是现在JBPM版本已经与自己当年使用的版本&#xff08;3.X&#xff09;大相径…

Asp.net MVC模型数据验证扩展ValidationAttribute

在Asp.Mvc项目中有自带的一套完整的数据验证功能&#xff0c;客户端可以用HtmlHelper工具类&#xff0c;服务端可以用ModelState进行验证。而他们都需要System.ComponentModel.DataAnnotations类库中的特性功能&#xff0c;通过在属性上方添加特性就可以达到验证前后端验证数据…

seaborn 子图_Seaborn FacetGrid:进一步完善子图

seaborn 子图Data visualizations are essential in data analysis. The famous saying “one picture is worth a thousand words” holds true in the scope of data visualizations as well. In this post, I will explain a well-structured, very informative collection …

基于easyui开发Web版Activiti流程定制器详解(六)——Draw2d的扩展(一)

&#xfeff;&#xfeff;题外话&#xff1a; 最近在忙公司的云项目空闲时间不是很多&#xff0c;所以很久没来更新&#xff0c;今天补上一篇&#xff01; 回顾&#xff1a; 前几篇介绍了一下设计器的界面和Draw2d基础知识&#xff0c;这篇讲解一下本设计器如何扩展Draw2d。 进…

深度学习网络总结

1.Siamese network Siamese [saiə mi:z] 孪生 左图的孪生网络是指两个网络通过共享权值实现对输入的输出&#xff0c;右图的伪孪生网络则不共享权值(pseudo-siamese network)。 孪生神经网络是用来衡量两个输入的相似度&#xff0c;可以用来人脸验证、语义相似度分析、QA匹配…

异常检测时间序列_时间序列的无监督异常检测

异常检测时间序列To understand the normal behaviour of any flow on time axis and detect anomaly situations is one of the prominent fields in data driven studies. These studies are mostly conducted in unsupervised manner, since labelling the data in real lif…

python设计模式(七):组合模式

组合&#xff0c;将对象组合成树状结构&#xff0c;来表示业务逻辑上的[部分-整体]层次&#xff0c;这种组合使单个对象和组合对象的使用方法一样。 如描述一家公司的层次结构&#xff0c;那么我们用办公室来表示节点&#xff0c;则总经理办公司是根节点&#xff0c;下面分别由…

Django框架是什麼?

Django在新一代的Web框架中非常出色,为什么这么说呢&#xff1f;为回答该问题,让我们考虑一下不使用框架设计Python网页应用程序的情形.贯穿整本书,我们多次展示不使用框架实现网站基本功能的方法,让读者认识到框架开发的方便,&#xff08;不使用框架,更多情况是没有合适的框架…

存款惊人_如何使您的图快速美丽惊人

存款惊人So, you just finished retrieving, processing, and analyzing your data. You grab your data and you decide to graph it so you can show others your findings. You click ‘graph’ and……因此&#xff0c;您刚刚完成了数据的检索&#xff0c;处理和分析。 您获…

pytest自动化6:pytest.mark.parametrize装饰器--测试用例参数化

前言&#xff1a;pytest.mark.parametrize装饰器可以实现测试用例参数化。 parametrizing 1. 下面是一个简单是实例&#xff0c;检查一定的输入和期望输出测试功能的典型例子 2. 标记单个测试实例为失败&#xff0c;例如使用内置的mark.xfail&#xff0c;则跳过该用例不执行直…

基于easyui开发Web版Activiti流程定制器详解(六)——Draw2d详解(二)

&#xfeff;&#xfeff;上一篇我们介绍了Draw2d整体结构&#xff0c;展示了组件类关系图&#xff0c;其中比较重要的类有Node、Canvas、Command、Port、Connection等&#xff0c;这篇将进一步介绍Draw2d如何使用以及如何扩展。 进入主题&#xff1a; 详细介绍一下Draw2d中几个…

c#中ReadLine,Read,ReadKey的区别

Console.Read()、Console.ReadLine() 相同点&#xff1a; 1.两者都是用于输入的函数。 不同点&#xff1a; 1. Read只能读取一个字符&#xff0c;ReadLine可以读取一个字符串 如 Read读取A和AASDGU的返回值都是一样的 都为A的ASCII值&#xff0c;对于后续的ASDGU不理会。 而Rea…

Ubuntu16.04 开启多个终端,一个终端多个小窗口

Ubuntu16.04 开启多个终端&#xff0c;一个终端多个小窗口 CtrlShift T,一个终端开启多个小终端 CtrlAlt T 开启多个终端 posted on 2019-03-15 11:26 _孤城 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/liuweijie/p/10535904.html