(算法练习)——201812-1小明上学(CCF模拟)

只有一点要注意,黄灯过了是红灯,要另外等一个红灯的时间
虽然题目给出的灯的时间顺序是红、黄、绿,但实际上循环的顺序是红、绿、黄,搞清这个这题就解决了
AC代码:

#include <stdio.h>
#include <string.h>

int main(){
	int r,y,g;
	int n;
	int signal,tm;
	int linshi = 0;
	scanf("%d %d %d",&r,&y,&g);
	scanf("%d",&n);
	for(int i = 0;i <n;i++){
		scanf("%d %d",&signal,&tm);
		if(signal == 0){
			linshi = linshi + tm;
		}
		else if(signal == 1){   //红灯,等待
		    linshi = linshi + tm;
		}
		else if(signal == 2){   //黄灯,多等一个红灯 
			linshi = linshi + tm + r;
		}
		else{
			linshi = linshi + 0;
		}
	}
	printf("%d",linshi);
}

/*
30 3 30
8
0 10
1 5
0 11
2 2
0 6
0 3
3 10
0 3

*/
发布了212 篇原创文章 · 获赞 6 · 访问量 6405

猜你喜欢

转载自blog.csdn.net/weixin_42377217/article/details/104273738