zoukankan      html  css  js  c++  java
  • A

    Description

    一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。
    对于给定的n和k个加油站位置,计算最少加油次数。

    Input

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

    Output

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

    Sample

    Input 

    7 7
    1 2 3 4 5 1 6 6

    Output 

    4

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 int main()
     5 {
     6     int n, k, i, x, re;
     7     int a[1005];
     8     scanf("%d %d", &n, &k);
     9     for(i=0;i<k+1;i++)
    10     {
    11         scanf("%d", &a[i]);
    12     }
    13     x = 0;///已行驶路程
    14     re = 0;
    15     int flag = 1;
    16     if(a[0]>n) flag = 0;
    17     else x = a[0];
    18     for(i=1;i<k+1;i++)
    19     {
    20         if(x + a[i] > n)///需要加油
    21         {
    22             re++;
    23             if(a[i]<=n) x = a[i];
    24             else
    25             {
    26                 flag = 0;
    27                 break;
    28             }
    29         }
    30         else x += a[i];
    31     }
    32     if(flag==0) printf("No Solution!
    ");
    33     else printf("%d
    ", re);
    34     return 0;
    35 }
  • 相关阅读:
    linux内核同步机制相关收集
    【转载】关于终端和控制台的一些解释
    【转】linux内核调试方法总结
    misc汇总
    关于proc的介绍,比较详细
    linux内核启动流程分析
    linux通用中断子系统介绍
    ftrace在mips上的验证
    线程死锁demo
    BeanFactory与FactoryBean
  • 原文地址:https://www.cnblogs.com/0xiaoyu/p/13768047.html
Copyright © 2011-2022 走看看