您的位置:首页 > 编程语言 > Java开发

CCF-201812-2-小明放学 JAVA代码20分求大神看看哪里错了

2019-08-06 20:50 567 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/littleblackk/article/details/98659140

JAVA代码20分求大神看看哪里错了,找了很久都没有找到

import java.util.Scanner;

public class 小明放学_201812_2 {
//记录总时间,到每个路口由总时间推算当前是什么灯
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
long r = sc.nextInt();
long y = sc.nextInt();
long g = sc.nextInt();
long n = sc.nextInt();
long sum = 0;
long round = r+y+g;

for(int i=0;i<n;i++) {
long k = sc.nextInt();
long t = sc.nextInt();
long temp=0;
//一轮剩余的秒数
temp = sum%round;

//如果是道路
if(k==0) {
sum+=t;
}
//如果是红灯
else if(k==1) {
//转了阶段
if(temp>t) {
temp=temp-t;
if(temp<g) {
//绿灯阶段
continue;
}else {
//黄灯阶段
temp=temp-g;
sum+=y-temp;
}
}else {
//没转阶段
sum+=t-temp;
}
}//如果是黄灯
else if(k==2) {
//转了阶段
if(temp>t) {
temp=temp-t;
//红灯阶段
if(temp<r) {
sum+=r-temp;
}else {
//绿灯阶段
continue;
}
}else {
//没转阶段
sum+=t-temp+r;
}
}//如果是绿灯
else {
//转了阶段
if(temp>t) {
temp=temp-t;
//黄灯阶段
if(temp<y) {
sum+=y-temp+r;
}else {
//红灯阶段
sum+=r-temp+y;
}
}else {
//没转阶段
continue;
}
}

}
System.out.println(sum);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: