zoukankan      html  css  js  c++  java
  • 汽车加油问题

    题目来源:王晓东《算法设计与分析》

    一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。

    输入格式:

    第一行有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。 第二行有 k+1 个整数,表示第 k 个加油站与第k-1 个加油站之间的距离。 第 0 个加油站表示出发地,汽车已加满油。 第 k+1 个加油站表示目的地。

    输出格式:

    输出最少加油次数。如果无法到达目的地,则输出“No Solution!”。

    输入样例:

    7 7
    1 2 3 4 5 1 6 6
    

    输出样例:

    4

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    using namespace std;
    int main()
    {
        int i,j,a[1005];
        cin >> i >> j;
        for(int t=0;t<=j;t++)
        {
            cin >> a[t];
        }
        a[j+1]=0;
        int sum =0,coute=0,flag=0;
        for(int t =0; t<=j;t++)
        {
            sum=sum+a[t];
            if(i-sum<=a[t+1]&&i>=a[t])
            {
                sum=0;
                coute++;
            }
            if(i<a[t])
            flag=1;
    
        }
        if(flag==0)
        cout << coute<<endl;
        if(flag==1)
        cout <<"No Solution!"<<endl;
        return 0;
    }
    
    
  • 相关阅读:
    Jump Game II
    Trapping Rain Water
    First Missing Positive
    Median of Two Sorted Arrays
    noip2012开车旅行 题解
    AC自动机专题总结
    初探数位DP
    斯坦纳树 [bzoj2595][wc2008]游览计划 题解
    [bzoj3244][noi2013]树的计数 题解
    网络流模型小结
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10782139.html
Copyright © 2011-2022 走看看