杭电oj2064、2067、2068、2073、2076-2078、2080、2083-2085
2064 汉诺塔III
#include<stdio.h>
int main(){
int n,i;
_int64 s[];
while(~scanf("%d",&n)){
s[] = ;
for(i=;i<=n;i++){
s[i] = *s[i-] + ;
}
printf("%I64d\n",s[n]);
}
}
2067 小兔的棋盘
#include<stdio.h>
int main(){
int n,i,k,j=;
_int64 s[] = {};
s[] = ;s[] = ;
for(i=;i<=;i++){
for(k=;k<i;k++){
s[i] += s[k]*s[i--k];
}
}
while(~scanf("%d",&n)){
if(n==-){break;}
printf("%d %d %I64d\n",++j,n,s[n]*);
}
}
卡特兰数的推导公式:

2068 RPG的错排
#include<stdio.h>
_int64 c(int a,int b){
_int64 mul1=,mul2=,i;
for(i=a;i>;i--){
mul1 *= i;
mul2 *= b;
b--;
}
return mul2/mul1;
} int main(){
int n,i;
_int64 s[],sum;
s[] = ;s[] = ;
for(i=;i<;i++){
s[i] = (i-)*(s[i-]+s[i-]);
}
while(~scanf("%d",&n)){
if(n==){break;}
sum = ;
for(i=;i<=n/;i++){
sum += c(i,n)*s[i];
}
printf("%I64d\n",sum); } }
2073 无限的路
#include<stdio.h>
#include<math.h>
double len(int x,int y){
int i,j;
double len = ,l;
double t = sqrt();
for(i=;i<x+y;i++){
len = len + t*i;
}
for(i=;i<x+y;i++){
len = len + sqrt(i*i+(i+)*(i+));
}
len = len + t*x;
return len;
} int main(){
int n,x1,y1,x2,y2;
while(~scanf("%d",&n)){
while(n--){
scanf("%d %d %d %d",&x1,&y1,&x2,&y2); printf("%.3lf\n",fabs(len(x2,y2)-len(x1,y1)));
}
} }
2076 夹角有多大(题目已修改,注意读题)
#include<stdio.h>
#include<math.h> int main(){
int n;
double h,m,s,anh,anm,an;
while(~scanf("%d",&n)){
while(n--){
scanf("%lf %lf %lf",&h,&m,&s);
if(h>){h = h-;}
anh = (h+(m+s/)/)*;
anm = (m+s/)*;
an = fabs(anh - anm);
if(an>){an = -an;}
printf("%d\n",(int)an);
}
} }
2077 汉诺塔IV
#include<stdio.h>
#include<math.h> int main(){
int n,i,m;
_int64 s[];
s[] = ;
s[] = ;
for(i=;i<;i++){
s[i] = s[i-]* + ;
}
while(~scanf("%d",&n)){
while(n--){
scanf("%d",&m);
printf("%I64d\n",s[m-]*+);
}
} }
2078 复习时间
#include<stdio.h>
#include<math.h> int main(){
int t,n,m,s[],i,j,temp,min;
while(~scanf("%d",&t)){
while(t--){
scanf("%d %d",&n,&m);
for(i=;i<=n;i++){
scanf("%d",&s[i]);
}
for(i=;i<=n;i++){
for(j=i+;j<=n;j++){
if(s[i]<s[j]){
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
} printf("%d\n",(-s[n])*(-s[n]));
}
}
}
2080 夹角有多大II
#include<stdio.h>
#include<math.h>
#define PI 3.1415926 int main(){
int n;
double x1,x2,y1,y2,m,t;
while(~scanf("%d",&n)){
while(n--){
scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);
m = x1*x2 + y1*y2;
t = sqrt((x1*x1+y1*y1)*(x2*x2+y2*y2));
printf("%.2lf\n",acos(m/t)/PI*);
}
}
}
抄公式就完事了
2083 简易版之最短距离
#include<stdio.h>
#include<math.h> int main(){
int n,m,i,j,s[],temp,d;
while(~scanf("%d",&n)){
while(n--){
scanf("%d",&m);
for(i=;i<m;i++){
scanf("%d",&s[i]);
}
for(i=;i<m;i++){
for(j=i;j<m;j++){
if(s[i]>s[j]){
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
d = ;
for(i=;i<m;i++){
d += abs(s[i] - s[m/]);
}
printf("%d\n",d);
}
}
}
2084 数塔
#include<stdio.h>
int max(int a,int b){
if(a>b){return a;}
else{return b;}
} int main(){
int s[][];
int dp[][];
int c,n,i,j;
while(~scanf("%d",&c)){
while(c--){
scanf("%d",&n);
for(i=;i<=n;i++){
for(j=;j<=i;j++){
scanf("%d",&s[i][j]);
}
}
for(i=n;i>;i--){
for(j=;j<=i;j++){
if(i==n){
dp[i][j] = s[i][j];
}else{
dp[i][j] = max(s[i][j]+dp[i+][j],s[i][j]+dp[i+][j+]);
}
}
}
printf("%d\n",dp[][]);
}
}
}
2085 核反应堆
#include<stdio.h>
int main(){
int n,i;
_int64 h[],l[];
h[] = ;l[]=;
while(~scanf("%d",&n)){
if(n==-){break;}
for(i=;i<=n;i++){
h[i] = h[i-]* + l[i-]*;
l[i] = h[i-] + l[i-];
}
printf("%I64d, %I64d\n",h[n],l[n]);
}
}
杭电oj2064、2067、2068、2073、2076-2078、2080、2083-2085的更多相关文章
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 杭电acm习题分类
专注于C语言编程 C Programming Practice Problems (Programming Challenges) 杭电ACM题目分类 基础题:1000.1001.1004.1005. ...
- 杭电ACM题目分类
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1056.1058. ...
- 【转】杭电ACM试题分类
注:网上搜的 第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 ...
- 杭电OJ分类
基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1056.1058.1 ...
- 杭电oj题目分类
基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1056.1058.1 ...
- 杭电ACM2076--夹角有多大(题目已修改,注意读题)
杭电ACM2076--夹角有多大(题目已修改,注意读题) http://acm.hdu.edu.cn/showproblem.php?pid=2076 思路很简单.直接贴代码.过程分析有点耗时间. / ...
- acm入门 杭电1001题 有关溢出的考虑
最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...
- 杭电acm 1002 大数模板(一)
从杭电第一题开始A,发现做到1002就不会了,经过几天时间终于A出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...
随机推荐
- python基础之正则表达式和re模块
正则表达式 就其本质而言,正则表达式(或 re)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 ...
- 2 实现第一个Django网站 博客
-1.理解上下文 render()渲染 request url传来的reuqest x.html 制定返回的模板名称 context 上下文 数据库中 替换数据 0.大框架 1.创建模板 (1 ...
- MySQL之查询性能优化(一)
为什么查询速度会慢 通常来说,查询的生命周期大致可以按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中“执行”可以认为是整个生命周期中最重要的阶段, ...
- centos使用--rpm和yum的关系以及基本用法
1 RPM包 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binar ...
- BitLocker:如何启用网络解锁
TechNet 库Windows ServerWindows Server 2012 R2 和 Windows Server 2012服务器角色和技术安全和保护BitLockerBitLocker 中 ...
- 《Cracking the Coding Interview》——第2章:链表——题目6
2014-03-18 02:41 题目:给定一个带有环的单链表,找出环的入口节点. 解法1:用hash来检测重复节点肯定是容易想而且效率也高的好办法. 代码: // 2.6 You have a ci ...
- shell脚本递归删除空文件夹
有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的脚本,于是自己动手写了一个 脚本 #!/bin/bash # author: 十年后的卢哥哥(http://www.cnblogs.com/ ...
- Python 3基础教程16-类
本文介绍类和简单使用,类是需要class这个关键字来声明的,一般如下面的语法: class className: def fun1(): pass def fun2(): pass 看下面demo.p ...
- Python 3基础教程15-读文件内容
前面两篇关于写文件和更新文件内容,我们最后都是手动去打开检查是否更新了.现在我们这里通过函数读取之前文件内容,打印到屏幕终端. 运行结果:
- 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获
孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...