UVa11093 Just Finish it up (贪心+思路)
来源:互联网 发布:网络使用管理规定 编辑:程序博客网 时间:2024/06/02 11:59
题目链接:https://vjudge.net/problem/UVA-11093
题目大意:是否有足够的油让你走完全程
题目思路:枚举n个加油站的作为起点然后模拟整个过程,但是不能一个一个的枚举,当某个起点走到p位置时无法到达p+1点时,直接从p+1位置作为起点开始模拟即可,因为之前的再枚举也没有用了,当走到p点照样没油,所以2,3,4,5到p为起点枚举都是无解的,所以直接跳过就好,所以复杂度是O(n),所有遍历一遍即可,当最后一个点也被走过后还不能走完一圈就是无解。
代码:
#include <iostream> #include <cstdio> using namespace std; const int maxn = 100000 + 5; int p[maxn],q[maxn]; inline int solve(int n){ int start = 0; while(start < n){//起始点扫一遍 int cnt = 0,oil = 0,i=start,flag = 0; while(cnt < n){//进行模拟 oil += p[i];//加油 if(oil >= q[i]){//可以到达下一站 oil -= q[i++];//消耗 if(i == n){i %= n;flag = 1;}//当到达末尾时,进行取膜回到0位置,且标记已经走过所有的点了(不代表一趟都走完),如果没能全部就说明无法走完,标记 cnt++;//累计站点数 } else {start = i+1;break;}//更新从i+1点开始再进行模拟 } if(cnt == n) return start+1;//所有站点都走过,返回开始位置 if(flag) return -1;//无法走完 } return -1; } int main() { int t,n; scanf("%d",&t); for(int kcase=1;kcase<=t;kcase++){ 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]); int ans = solve(n); printf("Case %d: ",kcase); if(ans == -1) printf("Not possible\n"); else printf("Possible from station %d\n",ans); } return 0; }
阅读全文
0 0
- UVa11093 Just Finish it up (贪心+思路)
- uva11093 Just Finish it up(思路)
- [贪心]UVa11093 - Just Finish it up
- uva11093 Just Finish it up
- uva11093 just finish it up
- UVA11093:Just Finish it up(环形跑道)
- 解题报告 之 UVA11093 Just Finish it up
- Uva11093 Just Finish it up【模拟】【例题8-13】
- Uva 11093 Just Finish it up——思路题
- uva 11093-Just Finish it up【贪心?链表】
- 11093 - Just Finish it up
- 11093 - Just Finish it up
- Just Finish it up UVA
- UVA 11093 Just Finish it up(模拟题)
- 优化(Just Finish it up,uva 11093)
- [UVa 11093] 环形跑道(Just Finish it up)
- UVA-11093-Just Finish It Up
- UVA - 11093 Just Finish it up 环路
- web.xml配置报ClassNotFound错误解决方法之一
- 15. 3Sum/16. 3Sum Closest(C++)
- org.hibernate.MappingException: Unknown entity 解决方法
- Linux下使用Eclipse开发Hadoop应用程序
- ActiveRecord 查询使用字符串插值
- UVa11093 Just Finish it up (贪心+思路)
- 私人
- 人工神经网络模型、人类的大脑和人类社会本身相似性 (一家之言,仅供一笑)。
- 超详细!!canvas常用方法大全
- angular 安装batarang踩到的那些坑儿
- mysql数据库------疑问
- 字符流中第一个不重复的字符
- FastDFS安装、配置、部署(三)-Storage配置详解
- 微信公众号开发之绑定用户数据关系