有一个环形跑道,上面有n个加油站,到i号加油站可以加pi的油,跑到下一站要花费qi的油,起点任意选,问是否有一个起点可跑完整个跑道。

从i开始跑,如果遇到某个站j不能跑了,那么从i到j之间的站开始跑,到j的油不会增加,所以下次直接从j+1开始跑。复杂度是O(n)

#include<bits/stdc++.h>
using namespace std;
#define bug(x) cout<<#x<<'='<<x<<endl;
const int maxn = 1e5+5;int p[maxn], q[maxn];int Run(int n)
{for(int st = 0; st < n; st++){int oil = 0;int i;for(i = 0; i < n; i++){int cur = (i+st)%n;oil += p[cur];if(oil<q[cur]){ st += i; break; }oil -= q[cur];}if(i == n) return st;}return -1;
}int main()
{//freopen("in.txt","r",stdin);int T; scanf("%d",&T);for(int k = 1; k <= T; k++){int n;scanf("%d",&n);for(int i = 0; i < n; i++) scanf("%d",p+i);for(int i = 0; i < n; i++) scanf("%d",q+i);printf("Case %d: ",k);int ans = Run(n);if(~ans) printf("Possible from station %d\n",ans+1);else puts("Not possible");}return 0;
}

转载于:https://www.cnblogs.com/jerryRey/p/4715522.html

UVA 11093 Just Finish it up 环形跑道 (贪心)相关推荐

  1. uva 11093——Just Finish it up

    题意:环形跑道上有n个加油站,每个站可以加pi单位的油,从当前站开到下一站需要qi的油,问是否能够环游一圈. 思路:枚举.首先如果总需求量>总供给量,那么不可能.否则就枚举起点,如果油箱里的油不 ...

  2. UVA 11093 环形跑道 Just Finish it up [ 贪心+模拟]

    环形跑道 Just Finish it up 题面翻译 环形跑道上有n(1 <= n <= 100000)个加油站,编号为1~n.第i个加油站可以加油pi加仑.从加油站i开到下 一站需要q ...

  3. 最小公倍数Java描述,甲每秒跑3米,乙每秒跑4米,丙每秒跑2米, 三人沿600米的环形跑道从同一地点同时同方向跑步, 经过多少时间三人又同时从出发点出发?

    最小公倍数 甲每秒跑3米,乙每秒跑4米,丙每秒跑2米, 三人沿600米的环形跑道从同一地点同时同方向跑步, 经过多少时间三人又同时从出发点出发? //数学思维: //600/3=200秒 //600/ ...

  4. 例题8-13:环形跑道

    例题8-13:环形跑道 题意: 环形跑道上的加油站有n个,第i个加油站加油pi单位,开到下个加油站需要qi单位,求一个起点使得从该点出发可以走完全程. 思路: 如果从l出发经过j最后在k加油站前面停下 ...

  5. Excel 轻松搞定 环形跑道对比 图表的制作

    目录 环形跑道图表制作与解析 操作方法: 1.添加辅助列 2.制作环形跑道图表 3.美化环形跑道图表 环形跑道图表制作与解析 操作方法: Tip:在做环形跑道图表前,需要添加两个辅助列,一列用来计算新 ...

  6. K13140 环形跑道(简化版)

    题目描述 环形跑道上有n(n <= 5000)个加油站,编号为1~n.第i个加油站可以加油p_i升.从加油站i开到下一站需要q_i加仑汽油(由于跑到是环形的,所以n号加油站的下一站是1号加油站) ...

  7. 绕圆圈:小明报名参加了趣味运动会,运动会游戏规则如下:在一个环形跑道上,等距离放置着 N 个小球,小球按照顺时针方向从起点开始依次编号为 1 到 N ,在最短时间内取走放在跑道上尽可能多小球的选手获胜

    题面描述 小明报名参加了趣味运动会,运动会游戏规则如下:在一个环形跑道上,等距离放置着 N 个小球,小球按照顺时针方向从起点开始依次编号为 1 到 N ,在最短时间内取走放在跑道上尽可能多小球的选手获 ...

  8. 【例题 8-13 UVA - 11093】Just Finish it up

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 尺取法. 假设现在取[l..r]这一段. 然后发现累加的和小于0了. 那么方法只能是不走l..l+1这一段了 即delta递减(p[ ...

  9. ECharts 仪表盘(gauge) 改环形跑道 使用方法分享

    ECharts 仪表盘(gauge) 改环形数据跑道 使用方法分享 官方原效果 这是ECharts的仪表盘,制作的多数据展示效果 好了开始干活! 先跳过简单的部分,相信大家都能搞定前面的几步,如有不会 ...

最新文章

  1. 《深入理解Java虚拟机》(第二版)学习3:垃圾收集器
  2. Centos 7 yum 安装php
  3. 操作系统:生产者与消费者问题
  4. python爬取评论_python爬取网易云音乐评论
  5. 2016年第七届蓝桥杯C/C++ C组国赛 —— 第二题:反幻方
  6. mac m1上运行jenkins
  7. angular项目打包发布流程
  8. Rds基于mysql开发的_开发云数据库RDS MYSQL版讲解
  9. VMWare虚拟机NAT模式静态IP联网配置
  10. 华为云MVP付健权:从机械工程师到AI开发者的华丽转身
  11. angular js 使用pdf.js_胶水(框架) Stencil.js
  12. addEventListener事件监听传递参数
  13. 白话使用zookeeper作为注册中心搭建微服务
  14. 2022年 微信大数据挑战赛
  15. POJ 3278(Catch That Cow)
  16. PMP-专家判断、类比估算、参数估算、三点估算、自下而上估算、独立估算的区别
  17. Pdman数据库建模工具——使用教程
  18. 外汇EA是什么?外汇EA有什么用呢?能赚钱吗?
  19. CVPR 2020 《Graph-Structured Referring Expression Reasoning in The Wild》论文笔记
  20. linux tmp php文件怎么打开,tmp文件用什么打开

热门文章

  1. HDU 3342 Legal or Not【拓扑排序】
  2. idea中使用git只add部分module的更新
  3. matlab 状态空间的波特图,MATLAB:对于状态空间方程的系统辨识
  4. flash制作文字笔顺_flash动画课件制作有什么优点
  5. lamda获取参数集合去空_lambda表达式对集合的遍历
  6. 我竟然用git send-mail通过QQ邮箱提交了push request
  7. Arcgis javascript那些事儿(十三)——距离面积计算
  8. Unity4.3 2D新特性
  9. C#图片处理之: 另存为压缩质量可自己控制的JPEG
  10. linux查看tuxedo版本的命令,tuxedo 监控命令说明