早教吧作业答案频道 -->其他-->
一辆汽车加满油后可以行驶N千米.旅途中有若干个加油站.若要使沿途的加油次数最少,设计一个有效的算法,指出应在那些加油站停靠加油.并证明你的算法能产生一个最优解.
题目详情
一辆汽车加满油后可以行驶N千米.旅途中有若干个加油站.若要使沿途的加油次数最少,设计一个有效的算法,指出应在那些加油站停靠加油.并证明你的算法能产生一个最优解.
▼优质解答
答案和解析
#include
#define N 1000
int greedy(int d[],int n,int k)
{
int num = 0;
\x05int i=0;
\x05int s=0;
for( i = 0;i < k;i++)
\x05{
if(d[i] > n)
\x05\x05{
printf("no solution\n");
return 0;
}
}
for( i = 0,s = 0;i < k;i++)
\x05{
s += d[i];
if(s > n)
\x05\x05{
num++;
s = d[i];
}
}
printf("%d\n",num);
\x05
\x05return 1;
}
void main()
{
int i,n,k;
int d[N];
\x05printf("请输入汽车可行驶:\n");
scanf("%d",&n);
\x05printf("加油站的个数:\n");
\x05scanf("%d",&k);
for(i=0;i
#define N 1000
int greedy(int d[],int n,int k)
{
int num = 0;
\x05int i=0;
\x05int s=0;
for( i = 0;i < k;i++)
\x05{
if(d[i] > n)
\x05\x05{
printf("no solution\n");
return 0;
}
}
for( i = 0,s = 0;i < k;i++)
\x05{
s += d[i];
if(s > n)
\x05\x05{
num++;
s = d[i];
}
}
printf("%d\n",num);
\x05
\x05return 1;
}
void main()
{
int i,n,k;
int d[N];
\x05printf("请输入汽车可行驶:\n");
scanf("%d",&n);
\x05printf("加油站的个数:\n");
\x05scanf("%d",&k);
for(i=0;i
看了 一辆汽车加满油后可以行驶N千...的网友还看了以下:
最优解应用题小明准备换一张显卡,他可以买GTX560,但是功耗为180.00W每小时,他也可以买G 2020-04-07 …
PC是一种可降解的聚碳酸酯类高分子材料,由于其具有优良的耐冲击性和韧性,因而得到了广泛的应用.以下 2020-05-17 …
PC是一种可降解的聚碳酸酯类高分子材料,由于其具有优良的耐冲击性和韧性,因而得到了广泛的应用。以下 2020-06-19 …
为什么模拟退火算法要以一定概率接受劣解?我不懂为什么模拟退火算法要以一定概率接受劣解.我觉得每次通 2020-06-23 …
一道逻辑题,一次射击比赛,王教官说:因为这次训练时间比较短,全班成绩都不优秀.李教官说:以前有几个 2020-07-13 …
列方程解应用题某商家为了促销一种商品,先把它的标价提高了20%,然后又打出"八折优惠'',以实际42 2020-11-13 …
原电池的正极反应式是否要比较溶液中的阳离子与其单质本身的氧化性强弱,氧化性强的则会优先发生反应~电解 2020-11-15 …
50分:帮忙做份微机与接口的试卷最好能有简单的解题说明1、如果有多个中断申请同时发生,系统将根据中断 2020-12-03 …
运筹学的几个基本小问题一,对max型整数规划,若最优解非整数解对应的目标函数值为Zc,最优整数解对应 2020-12-15 …
1.初中化学哪些反应中涉及了“优先反应”原则?比如:复分解反应中中和反应优先发生,那么还有哪些反应中 2020-12-20 …