杭电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出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...
随机推荐
- iOS常用控件-UITableViewCell
一. 封装cell: 1.加载xib文件的两种方式 <方式1> (NewsCell是xib文件的名称) NSArray *objects = [[NSBundle mainBundle] ...
- 散列--数据结构与算法JavaScript描述(8)
散列 散列是一种常用的数据存储技术,散列后的数据可以快速地插入或取用. 散列使用的数据结构叫做散列表. 在散列表上插入.删除和取用数据都非常快,但是对于查找操作来说却效率低下,比如查找一组数据中的最大 ...
- python-13常用内建模块
1-datetime #1-获取当前日期和时间 from datetime import datetime now = datetime.now() #当前时间 print(now) #2015-05 ...
- git 设置别名 git alias
git config --global alias.st status git config --global alias.ck checkout git config --global alias. ...
- Android log 引发的血案
今天调试代码,我打印了一个东西: Log.d("WelcomeActivity", res.str); 结果总是代码执行不到这一行的下一行,程序也没有挂掉.后来,我自己去想各种可能 ...
- python语法root=Tkinter.Tk()
1. Tkinter 是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口.Tkinter不是唯一的python图形编程接口,但是是 其中比较流行的一个.最大的特点是 ...
- MySQL 5.7.18 压缩包版配置记录
1.解压到一个目录(建议根目录),比如:D:\mysql2.在系统Path中添加 D:\mysql\bin3.这个版本不带my-default.ini,需要自己写,放在D:\mysql\my.ini, ...
- QA 、 QC & QM软件测试入门专业名词解释 -- 灌水走起
灌水正式开始: 说明:我的农田,我灌水 一.QA . QC & QM: 1.QM QM 是quanlity management,中文名称是品质管理 2.QA QA是英文quality ass ...
- Linux常用命令及工具记录(持续更新)
一.命令 convmv 作用:文件名的编码转换 安装:sudo apt-get install convmv 使用:convmv * -f gbk -t utf8 --notest c ...
- Android之SeekBar总结(一)
2015-04-24 SeekBar: 一种特殊的进度条,包含一个滑块用于调节进度值. API 中目录结构如下: 包含几种特殊的属性: 1: max:设置进度条的最大值 .对应方法:setMax(in ...