zoukankan      html  css  js  c++  java
  • UVa 11093 Just Finish it up

    从第一个加油站开始枚举起点,如果到第i个加油站油量不够的话,那么1~i个加油站都不可能是起点。

    将第i+1个加油站作为起点继续枚举。

    比如说,第一个加油站开始最多跑到第5个加油站,那么第二个加油站不可能是起点。

    因为第一个作为起点的话,到达第二个加油站油箱可能还有剩余,这样都跑不完一圈,所以从第二个站开始跑也就不可能跑完一圈。

     1 #include <cstdio>
     2 
     3 const int maxn = 100000 + 10;
     4 int p[maxn * 2], q[maxn * 2];
     5 
     6 int main()
     7 {
     8     freopen("in.txt", "r", stdin);
     9 
    10     int T; scanf("%d", &T);
    11     for(int kase = 1; kase <= T; kase++)
    12     {
    13         printf("Case %d: ", kase);
    14 
    15         int n; scanf("%d", &n);
    16         for(int i = 0; i < n; i++) { scanf("%d", &p[i]); p[i+n] = p[i]; }
    17         for(int i = 0; i < n; i++) { scanf("%d", &q[i]); q[i+n] = q[i]; }
    18 
    19         bool flag = false;
    20         int cur = 0, pos = -1, cnt = 0;
    21         for(int i = 0; i < n;)
    22         {
    23             int cur = 0;
    24             int j = i;
    25             while(j < i + n && cur + p[j] >= q[j])
    26             {
    27                 cur += p[j] - q[j];
    28                 j++;
    29             }
    30             if(j == i + n) { pos = i; break; }
    31             i = j + 1;
    32         }
    33 
    34         if(pos >= 0) printf("Possible from station %d
    ", pos + 1);
    35         else puts("Not possible");
    36     }
    37 
    38     return 0;
    39 }
    代码君
  • 相关阅读:
    HTML标签(二)
    HTML 表单
    HTML列表
    HTML表格
    Critical Section Problems
    Stack, Queue and Priority Queue
    Introduction to Dynamic Set
    Introduction to Divide-and-Conquer
    Sorting Algorithms Overview
    Python学习笔记(三)数据类型
  • 原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/4423029.html
Copyright © 2011-2022 走看看