中石油新人第一次比賽 問題 B 電子警察

2021-09-02 11:41:17 字數 1322 閱讀 4307

提交: 1109 解決: 65看這個比例我覺得有必要把這個題掛一掛

題目描述

現在很多地方的道路路口都安裝了電子警察,即交通違章自動拍照系統。這些系統一般在路口的地下埋設感應線圈,通過感測器判斷汽車是否在紅燈時通過路面,來控制數位相機自動拍照。在安裝這種系統需要挖掘地面,施工麻煩,成本又高。於是有人研究出了同攝像機自動識別車牌並判斷違章行為的系統,這樣一來,電子警察安裝就方便多了,成本也大大降低。請你程式設計實現其中的乙個功能,給出一批某一時間識別後的車牌號碼及行進方向,判斷該車是否違章,並記錄下來。違章的規則設定為:先設定左轉、直行、右轉依次綠燈通行時間(以秒為單位,只允許乙個方向綠燈),先左轉綠燈,然後直行綠燈,最後右轉綠燈,在其中乙個綠燈時,其餘兩盞燈為紅燈狀態,假設時間生效在零時整,且給出的資料只限定當天。闖紅燈為違章。

輸入

第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

我的思路是把整個時間轉化成秒,然後不斷減去三個燈持續時間之和(乙個週期),直到秒數小於或等於乙個週期為止。然後就可以很容易的判斷他走的時候是不是闖紅燈了。

(看在乙個週期內的哪個時間段,左or直or右)

感覺我的**可以簡化不少,比賽的時候只想著實現,也沒想寫的簡潔點,看著有點亂,看官了解下思路交流下就好啦~~

還有,在得知這次比賽是小學題以後,心態有點崩~小學生這麼神的嗎

#include

intmain()

for(

int i=

0;ielse

if(s[i][6

]=='s')

}else

if(s[i][6

]=='r')}}

return0;

}

topcoder 第一次比賽

說來慚愧,自己雖然也是topcoder的一員,今天才算是在topcoder上的第一次比賽。剛開始一直感覺水平不夠,就一直沒在topcoder平台上做過題。大一暑假過後,實力提公升了一點點,別的隊員已經開始在平台上做題了,我卻因為加入了acm隊,又因為topcoder的比賽大多都在夜裡,所以一直沒參加...

中石油新生第一次訓練賽 H題掃雷

時間限制 1 sec 記憶體限制 128 mb 提交 187 解決 32 題目描述 小q空的時候挺喜歡玩玩電腦遊戲的。自從程式設計技術提高後,他就想,要是自己也能開發出一款遊戲來,那該多好啊!不過,小q也不著急,先練好基本功再說。windows中就有一款叫掃雷的小遊戲,挺好玩的,不過想編出乙個來,還...

2019級C語言程式設計新生第一次比賽題解

1 you can really dance 很簡單,暴力輸出!這道題比的就是手速!2 想ak嗎?想做這道題就一定要明白 求和 這個符號 意思是 i 1,n k就是要求和幾次,即從1加到 n k 次,所得結果再乘以3,輸出即可。3 慧慧拿獎學金 這道題其實看明白的很簡單。定義乙個陣列a 25000 ...