PTA 1033 To Fill or Not to Fill (25 分)

PTA 1033 To Fill or Not to Fill (25 分),第1张

PTA 1033 To Fill or Not to Fill (25 分)

贪心: 三个加油站油价 7 6 5,目前在7这里。那你怎么走?
7->6->5?
7->5?
正确答案是第一个。

		假设距离为1  第一个价格 7*1+6*1,第二个价格 7*2;

思路:分三个部分:
1.在最大范围内能找到比当前加油站价格更低的,直接去那个加油站,加刚好的油;
2…在最大范围内只能找到比当前加油站价格高的,找相对最低的,加满油;
3…在最大范围内没有找到加油站,cout<

ac:

#include
#include
#include
using namespace std;
int dis,oil_d,cnt;
double tank;
struct node{
	double p;
	int dis;
};
bool cmp(node a,node b){
	return a.dis>tank>>dis>>oil_d>>cnt;
	vector v(cnt+1);
	for(int i=0;i>v[i].p>>v[i].dis;
	}
	v[cnt].p=0;
	v[cnt].dis=dis;
	sort(v.begin(),v.end(),cmp);

	if(v[0].dis!=0){
		printf("The maximum travel distance = 0.00n");
		return 0;
	}
	
	else{
		int max_length=tank*oil_d;
		int cur=0;
		double tol_dis=0,tol_p=0,now_tank=0;
		while(curneed)
						now_tank-=need;
					else{
						tol_p+=(need-now_tank)*v[cur].p;			
						now_tank=0;		
					}
				}
				else{
					tol_p+=(tank-now_tank)*v[cur].p;
					now_tank=tank-need;
				}
				cur=k;
				tol_dis=v[k].dis;
			} 
	}
	printf("%.2lfn",tol_p);
}
	return 0;
} 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5634587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存