用C完成一道基础算法题因为是刚刚才算接触算法,希望代码可以增加适量注释,3Q、我要是想通了并且可以AC过 就采纳了……
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 20:03:31
用C完成一道基础算法题因为是刚刚才算接触算法,希望代码可以增加适量注释,3Q、我要是想通了并且可以AC过 就采纳了……
用C完成一道基础算法题
因为是刚刚才算接触算法,希望代码可以增加适量注释,3Q、
我要是想通了并且可以AC过 就采纳了……
用C完成一道基础算法题因为是刚刚才算接触算法,希望代码可以增加适量注释,3Q、我要是想通了并且可以AC过 就采纳了……
#include<stdio.h>
void main()
{ int maxdis,stcount,k,t,j=0,f=0; //maxdis最大行驶距离 stcount 加油站个数 f为标志
int dis[1000]={0},ndis[1000]={0}; //dis数组存放每个车站间距离 ndis数组存放每次加油行驶距离
scanf("%d%d",&maxdis,&stcount);
for(k=0;k<=stcount;k++)
scanf("%d",&dis[k]);
for(k=0;k<=stcount;k++) //检查是否有不能达到的车站
if(maxdis<dis[k])
{ printf("No Solution!\n"); f=1;break;}
if(!f)
{
for(k=0,t=0;k<=stcount;k++)
{ t+=dis[k]; //将行驶距离组合到ndis中
if(t>maxdis)
{ t-=dis[k];
ndis[j++]=t;
t=dis[k];
}
}
for(k=0;;k++) //统计加油次数
if(!ndis[k]) break;
printf("n=%d\n",k);
}
}