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

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);
    	}
    
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值