hdu 2059 龟兔赛跑 动态规划

这篇博客讲述了作者解决HDU 2059题目‘龟兔赛跑’的过程。作者首次尝试失败后,决定独立思考并应用动态规划方法。在代码实现中,由于将浮点型变量误写为整型导致了错误,修正后最终成功通过了测试。

hdu 2059龟兔赛跑

终于过了 ~ 不容易啊

第一次方法错了,,然后很无奈的上网看了思路 ,我发誓在看见动态规划四个字之后就把网页关掉了 然后自己写。。

第一次的代码:

//hdu2059 龟兔赛跑 
//方法错 
#include<stdio.h>
int P[101]={0};
int flag[101];
main()
{
	int i,j,L,N,C,T,Vr,V1,V2;
	int x;                      //
	while(scanf("%d",&L)!=EOF)
	{
		scanf("%d%d%d%d%d%d",&N,&C,&T,&Vr,&V1,&V2);
		for(i=1;i<=N;i++) scanf("%d",&P[i]);P[0]=0,P[i]=L;
		
		x=(T*V1*V2)/(V1-V2);
		
		flag[0]=0;
		for(j=i=1;i<=N;i++)
		{
			if(P[i]-flag[j-1]<=x) continue;
											
			if(P[i]+C>=P[i]-x) continue;
				flag[j++]=P[i];
		}
		j--;
		if(flag[j]+x>=L) flag[j]=L;
		else{j++;flag[j]=L;}
		printf("x=%d\n",x);
		for(i=1;i<=j;i++) printf("%d ",flag[i]);printf("\n");
		float tt=(j-1)*T;
		printf("加油时间共%f\n",tt);
		for(i=1;i<=j;i++)
		{
			tt+=x/V1
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值