当前位置:首页 » 操作系统 » 汽车加油贪心算法

汽车加油贪心算法

发布时间: 2023-08-29 21:07:23

1. 汽车加油问题 贪心算法(C++)

第一次加满油

然后在能到达的最远的加油站再加满油

如此反复, 最后到达目的地

如果中间某次加油后不能到达下面任何一个加油站

那么就无解

2. 加油时加油员老是“凑整”几毛钱,这是为什么

在莫干山路某加油站加油时,油枪跳后,因为加油工在给其他车加油,她拿着油枪号码和金额去收银台付款。拍的金额是243.42元,收银员说是245元,解释说可能是加油工凑的。帖子引起了大量网友与帖子讨论。很多人说有的加油工会主动提醒,有的不会;很多加油站都是这样,但是不会拿着油卡聚在一起,不清楚有没有猫腻。甚至有网友怀疑油管里的油是跳炮后循环到油罐车里的,所以油管里只有空气,那么空气不都是补充的吗?跳枪说明我的是满的,整个油不会漏出来吗?说到底,加油的人聚在一起只有一个原因,方便收银员。

具体操作时,加油工先停止加油枪的加油,然后按下倒圆按钮,加油机关闭电磁阀的主阀,只使用辅助阀,流量很低,每分钟只有2升左右,但也能保证加油机达到3 ‰的精度要求。所以加油工只要几毛钱,甚至几毛钱,也可以把相应的油加到油箱里。了解加油枪工作原理的朋友都知道,跳枪不是人为控制的,也不是偷油,不会影响测量精度。其实是出于安全考虑的设计。汽车油箱的额定容量应控制在最大安全容量的95%,满油跳炮是指接近或达到额定容量,而不是最大安全容量。也就是说跳炮后油箱还有一定的空间。一般汽车加油跳枪后,至少能加3升左右,更大型号的油箱体积甚至可能相差10升以上,不用担心油箱会因为四舍五入而爆炸。

3. 求贪心算法汽车加油问题程序

#include<iostream.h>
#include<fstream.h>配键
void addoil(int &n,int &k,int *a,int *c,bool *b1,bool *b2,int &count)
{
int oil=n;
//count=0;
int i=0;
//a=new int[k+1];
b1=new bool[k+1];
c=new int[k+1];
b2=new bool[k+1];
while(i<=k)
{

if(oil-a[k]<a[k+1])
{
oil=n;
count++;
c[k]=k;
b1[k]=true;
}
if(a[k]>n)
{
b2[k]=false;
break;
}
if(oil-a[k]>a[k+1] && a[k]<=n)
i++;
}
}
void main()
{
int n,k;
int count=0;
int *a,*c;
bool *b1,*b2;
ifstream fin;
fin.open("D:\\input.txt");
fin>>n>>k;
a=new int[k+1];
b1=new bool[k+1];
c=new int[k+1];
b2=new bool[k+1];
for(int i=0;i<k+1;i++)
fin>>a[i];
addoil(n,k,a,c,b1,b2,count);
ofstream fout("D:\\output.txt");
for(int j=0;j<k+1;j++)
if(b2[j]=false)
{
fout<培谨巧<晌弯"No Solution";
return;
}
for(int l=0;l<k+1;l++)
if(b1[l]=true)
{
fout<<"should add oil at the "<<c[k]<<"service station"<<endl;
}
fout<<count;
}

热点内容
android下拉刷新通用 发布:2025-02-01 05:03:51 浏览:905
紫光存储最近 发布:2025-02-01 04:58:49 浏览:380
sqlserver重命名 发布:2025-02-01 04:56:24 浏览:428
iisftp被动模式 发布:2025-02-01 04:41:50 浏览:350
车载安卓怎么安装软件 发布:2025-02-01 04:30:50 浏览:469
安卓系统su程序是什么 发布:2025-02-01 04:25:42 浏览:475
android代码行数统计 发布:2025-02-01 04:20:47 浏览:216
快速喊话脚本 发布:2025-02-01 04:16:48 浏览:885
如何分辨普拉多的配置 发布:2025-02-01 04:11:45 浏览:681
linuxc文件删除 发布:2025-02-01 04:11:33 浏览:218