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

汽车加油贪心算法

发布时间: 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;
}

热点内容
爱奇艺会员怎么改密码 发布:2025-03-06 11:33:44 浏览:58
firefox不缓存 发布:2025-03-06 11:33:43 浏览:464
淘宝密码如何破解 发布:2025-03-06 11:32:56 浏览:591
sqlservereclipse 发布:2025-03-06 11:25:29 浏览:704
linux存放文件 发布:2025-03-06 11:24:47 浏览:444
nfslinux挂载 发布:2025-03-06 11:19:42 浏览:233
安卓动态壁纸怎么提取 发布:2025-03-06 11:07:26 浏览:111
有锁安卓手机有什么坏处 发布:2025-03-06 11:00:20 浏览:575
dvwa上传 发布:2025-03-06 10:46:58 浏览:699
新款荣放低配有哪些新配置 发布:2025-03-06 10:41:29 浏览:791