电子警察

电子警察

时间限制: 1 Sec  内存限制: 128 MB

题目描述

现在很多地方的道路路口都安装了电子警察,即交通违章自动拍照系统。这些系统一般在路口的地下埋设感应线圈,通过传感器判断汽车是否在红灯时通过路面,来控制数码相机自动拍照。在安装这种系统需要挖掘地面,施工麻烦,成本又高。于是有人研究出了同摄像机自动识别车牌并判断违章行为的系统,这样一来,电子警察安装就方便多了,成本也大大降低。请你编程实现其中的一个功能,给出一批某一时间识别后的车牌号码及行进方向,判断该车是否违章,并记录下来。违章的规则设定为:先设置左转、直行、右转依次绿灯通行时间(以秒为单位,只允许一个方向绿灯),先左转绿灯,然后直行绿灯,最后右转绿灯,在其中一个绿灯时,其余两盏灯为红灯状态,假设时间生效在零时整,且给出的数据只限定当天。闯红灯为违章。

 

输入

第1行有4个整数,以一个空格隔开,依次为左转、直行、右转通行的绿灯持续秒数和识别的车辆数N(1≤N≤10000),后面的N行,表示每辆车的信息,格式为“时间+方向+车牌”,其中时间为6位数字,方向为1个字母(L表示左转,S表示直行,R表示右转),车牌为8个字符,之间没有空格。如081528LZJBB0001,表示车牌号为ZJBB0001的车辆在8时15分28秒左转。

 

输出

违章车辆的车牌号码,每辆车一行,不含空格,按输进去的先后顺序输出。

 

 

样例输入

复制样例数据

15 30 20 3
000046SZJBB8888
030950LJSAA9999
201509RBJC7777D

样例输出

ZJBB8888
BJC7777D

 

/**/
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <stack>
#include <queue>

typedef long long LL;
using namespace std;

int t1, t2, t3, n;
char s[10005][20];
struct node
{
	int t;
	int flag;
}a[10005];

int main()
{
	//freopen("in.txt", "r", stdin);
	//freopen("out.txt", "w", stdout);

	scanf("%d %d %d %d", &t1, &t2, &t3, &n);
	int sum = t1 + t2 + t3;
	for (int i = 1; i <= n; i++){
		scanf("%s", s[i]);
		a[i].t += 3600 * ((s[i][0] - '0') * 10 + s[i][1] - '0');
		a[i].t += 60 * ((s[i][2] - '0') * 10 + s[i][3] - '0');
		a[i].t += (s[i][4] - '0') * 10 + s[i][5] - '0';
		int t = a[i].t % sum;
		if(s[i][6] == 'L' && 1 <= t && t <= t1) continue;
		if(s[i][6] == 'S' && t1 + 1 <= t && t <= t1 + t2) continue;
		if(s[i][6] == 'R' && t1 + t2 + 1 <= t && t <= t3 + t2 + t1) continue;
		if(a[i].t % sum == 0 && s[i][6] == 'R') continue;//因为 mod sum后可能为0,但有一点时间为000000时到底是红灯还是路灯算哪一天的
		a[i].flag = 1;
	}
	for (int i = 1; i <= n; i++){
		if(a[i].flag){
			for (int j = 7; j <= 14; j++){
				printf("%c", s[i][j]);
			}
			printf("\n");
		}
	}

	return 0;
}
/**/

 

全部评论

相关推荐

今天周一休息,突发奇想写一篇阶段总结。如题,我已经去了一个和Java彻底毫无关联的行业。曾经我以为自己能在计算机行业发光发热,没想到刚入行一年多就当了逃兵。从最开始的热爱到现在一看到代码就厌恶,不知道自己经历了什么。所以我去干什么了?答案是:在成都当了租房销售。上班那会压力大了就念叨着去干租房中介,但是一直下不去这个决心,想着自己学了四年多的计算机知识,终究还是不甘心。终于在某一天准备八股文的时候,看着无数篇和工作内容关系不大的理论知识,那一刻下定决心,决定尝试一下销售行业,也算是给自己一个交代。后面阴差阳错的投了成都自如去当租房管家,没想到面试很顺利,在当天一百多个面试的人里面,我成为了为数不多通过的几个幸运儿之一。目前已经培训通过,正式入职,也开了单,也有压力但是每天过得很开心,真心喜欢那种和人交流的感觉,哪怕是最后没有选择找我租房。说这些也是想告诉那些大三,大四正在找Java实习而焦虑的同学:你们现在还年轻,选择很多,容错率也很高,可以尽情去尝试自己喜欢的行业和工作。不用因为某一次的面试没通过或者简历石沉大海而焦虑,更不用因为身边人都在挤编程的独木桥就强迫自己跟风。也算是自己的碎碎念吧,也希望自己能在新的领域取得一点小成就。也祝牛油工作顺利!
沉淀小子:干啥都不丢人啊,生存是必须要的,销售很考验一个人综合素质能力的,好的销售人脉和资源可不比写字楼的白领差啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务