洛谷P1016 旅行家的预算 题解

主要就是注意一下各个变量的类型别弄混了

https://www.luogu.org/problem/P1016

#include<cstdio> using namespace std; double d[10],a[10]; int main() { double d1,c,d2,p,b=0; int n; scanf("%lf%lf%lf%lf%d",&d1,&c,&d2,&p,&n); double x=c*d2; d[0]=0; a[0]=p; for(int i=1;i<=n;i++) { scanf("%lf%lf",&d[i],&a[i]); } for(int i=1;i<=n;i++) { if(d[i]-d[i-1]>x) { printf("No Solution\n"); return 0; } } double Min=505; double tmp=0; int tag=0; double ans=0; a[0]=p; while(d1-tmp) { for(int i=tag+1;d[i]-tmp<=x&&i<=n;i++) { if(a[i]<Min) { Min=a[i]; tag=i; }//找出能到达的油费小于现在的 } if(Min<=p) { ans+=((d[tag]-tmp)/d2-b)*p; b=(d[tag]-tmp)/d2; } else if(d1-tmp>x) { ans+=(c-b)*p; b=c; } else { ans+=((d1-tmp)/d2-b)*p; break; } b-=(d[tag]-tmp)/d2; tmp=d[tag]; p=Min; Min=505; } printf("%.2lf\n",ans); return 0; }
全部评论

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
05-28 23:26
河南大学 Java
双非本,刚学完Redis,项目只有外卖和点评,八股没准备,算法只有lqb省一,感觉敲的项目也是一言难尽没怎么吸收。怎么你们都有实习了
大牛之途:27急个锤子,你投日常实习最好的时间就是9,10月份,那时候暑期实习都结束了,正是缺人的时候。这份日常又能给你的暑期实习增加竞争力,暑期找的好了秋招也不怕了,都是环环相扣的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务