杭电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出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...
随机推荐
- MySQL的备份
MySQL的备份 开启MySQL的log_bin 执行查看mysql的log_bin状态 > show variables like 'log_bin%'; +----------------- ...
- C语言进阶——循环语句07
循环语句的基本工作方式: 通过条件表达式判定是否执行循环体 条件表达式遵循if语句表达式的原则 do,while,for的区别: do语句先执行后判断,循环体至少执行一次 while语句先判断后执行, ...
- B1081 检查密码 (15分)
B1081 检查密码 (15分) 本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能.该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母.数字和小数点 .,还必须既有字母 ...
- Git-Git克隆
鸡蛋不装在一个篮子里 Git的版本库目录和工作区在一起,因此存在一损俱损的问题,即如果删除一个项目的工作区,同时也会把这个项目的版本库删除掉.一个项目仅在一个工作区中维护太危险了,如果有两个工作区就会 ...
- Android面试收集录10 LruCache原理解析
一.Android中的缓存策略 一般来说,缓存策略主要包含缓存的添加.获取和删除这三类操作.如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓存,它们的缓存大 ...
- Android面试收集录6 事件分发机制
转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...
- 基于CSS多列实现瀑布流
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mysql安装与基本管理,mysql密码破解
一.MySQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...
- USACO Section1.3 Prime Cryptarithm 解题报告
crypt1解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- cookie不能删除
cookie不仅仅包含一个键值对,还包含域 domain 路径path, 一般domain是请求的地址 www.baidu.com/news.html 那domain就是www.baidu.com ...