hdu 2059 龟兔赛跑 水题
来源:互联网 发布:工业设计常用建模软件 编辑:程序博客网 时间:2024/04/30 15:41
这个题目题意有问题 怪不得我怎么做也a不了 到了一个充电站以后 电会自动清零 你有两个选择 充 或者不充 所以这个状态转移方程就巨简单了 dp[i]=min(dp[i],dp[j]+time);
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <string>#include <iostream>#include <algorithm>#include <stack>#include <queue>#include <sstream>#include <ostream>#include <list>#include <ctype.h>#include <cmath>#define inf 2000000007using namespace std;double arr[300];int s[300];double min(double a,double b){ if(a<b) return a; return b;}int main(){ double len; while(scanf("%lf",&len)!=EOF) { memset(arr,0,sizeof(arr)); memset(s,0,sizeof(s)); int n,c; double t; double vr,vt1,vt2; cin>>n>>c>>t>>vr>>vt1>>vt2; for(int i=1;i<=n;i++) cin>>s[i]; s[n+1]=len;arr[0]=0; for(int i=1;i<=n+1;i++) { arr[i]=inf; for(int j=0;j<i;j++) { int lenth=s[i]-s[j]; double time1=lenth*1.0/vt2; double time2=0; if(j) time2+=t; if(c>=lenth) time2+=lenth*1.0/vt1; else time2+=c/vt1+(lenth-c)/vt2; double time=min(time1,time2);//这个地方的 time要用double 错了好几次才看出来; arr[i]=min(arr[i],arr[j]+time); } } //cout<<arr[n+1]<<endl; if(arr[n+1]<(double)len/vr) cout<<"What a pity rabbit!"<<endl; else cout<<"Good job,rabbit!"<<endl; } return 0;}
0 0
- hdu 2059 龟兔赛跑 水题
- hdu 2059 龟兔赛跑
- HDU 2059 - 龟兔赛跑
- hdu 2059 龟兔赛跑
- HDU 2059 龟兔赛跑
- HDU 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- HDU 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- HDU 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- hdu 2059 龟兔赛跑
- HDU 2059 龟兔赛跑
- HDU 2059 龟兔赛跑
- leetcode 36 Valid Sudoku C++
- setserial 命令使用
- android TV盒子开发心得(一)
- iframe页面滚动条置顶
- Centos5.8下搭建svn
- hdu 2059 龟兔赛跑 水题
- 欢迎使用CSDN-markdown编辑器
- ipsec vpn iso-vyos
- 中间件漏洞检测框架(F-MiddlewareScan)屌丝归档笔记
- Java(JVM)内存模型,垃圾回收
- mongodb权限设置之添加管理员、普通用户的方法
- Linux环境搭建xampp+禅道
- Java 动态代理详解(JDK 和CGLIB,Javassist,ASM)
- java-总结