【贪心算法】汽车加油问题

#include<iostream>
using namespace std;
#define N 1000
int d[N];

int main()
{
        int n,k,i,count,left;
        while(cin>>n>>k)
        {
                for(i=1;i<=k+1;i++)
                        cin>>d[i];
                for(i=1;i<=k+1;i++)
                {
                        if(d[i]>n)
                        {
                                cout<<"No Solution!"<<endl;
                                return 0;
                        }
                }
                count=0;
                left=n;
                for(i=1;i<=k;i++)
                {
                        left=left-d[i];
                        if(left<d[i+1])
                        {
                                left=n;
                                count++;
                        }
                }
                cout<<count<<endl;
        }
        return 0;
}

这个题目比较简单,放在此处是为了记录自己的做题结果

但是有个问题,就是怎样证明这个算法符合贪心规则呢?求大牛解释!

    原文作者:贪心算法
    原文地址: https://blog.csdn.net/momo_unique/article/details/25996353
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞