首页 > 学院 > 开发设计 > 正文

codevs 1034_汽车装油

2019-11-14 09:28:57
字体:
来源:转载
供稿:网友

题目描述

设在一环行公路上有N个汽车站,每一站存有若干数量的汽油(其中有的站可能不存)。现在使一辆原来没有油的汽车从某站依反时针方向沿公路行驶,车站编号为反时针;每到一站即把该站的汽油全部带上(出发的站也如此)。试求从哪几站出发可以使汽车从该站出发环行一周,不致在中途因缺油而停车。


思路

暴力模拟枚举每一个点,然后将油量记录下来就可以了 O(n^2)


#include <stdio.h>int a[1001][3];int main(){ int n; scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[i][1]); for (int i=1;i<=n;i++) scanf("%d",&a[i][2]); int fg=0; for (int i=1;i<=n;i++) { int t=a[i][1]-a[i][2],j=i+1,fl=0; if (i==n) j=1; if (t<=0) fl=1; while (t>=0&&j!=i) { if (t>=0) { t+=a[j][1]-a[j][2]; j++; if (j==n+1) j=1; } else { fl=1; break; } } if (t<0) fl=1; if (fl==0) { PRintf("%d ",i); fg=1; } } if (fg==0) printf("No Result!");}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表