問題描述
- 試題編號: 201812-1
- 試題名稱: 小明上學(xué)
- 時間限制: 1.0s
- 內(nèi)存限制: 512.0MB
- 問題描述:
題目背景
小明是漢東省政法大學(xué)附屬中學(xué)的一名學(xué)生狂打,他每天都要騎自行車往返于家和學(xué)校。為了能盡可能充足地睡眠罢荡,他希望能夠預(yù)計自己上學(xué)所需要的時間。他上學(xué)需要經(jīng)過數(shù)段道路煤伟,相鄰兩段道路之間設(shè)有至多一盞紅綠燈高诺。
京州市的紅綠燈是這樣工作的:每盞紅綠燈有紅、黃峭梳、綠三盞燈和一個能夠顯示倒計時的顯示牌舰绘。假設(shè)紅綠燈被設(shè)定為紅燈 r 秒,黃燈 y 秒葱椭,綠燈 g 秒捂寿,那么從 0 時刻起,[0,r) 秒內(nèi)亮紅燈孵运,車輛不許通過秦陋;[r, r+g) 秒內(nèi)亮綠燈,車輛允許通過治笨;[r+g, r+g+y) 秒內(nèi)亮黃燈驳概,車輛不許通過,然后依次循環(huán)旷赖。倒計時的顯示牌上顯示的數(shù)字 l(l > 0)是指距離下一次信號燈變化的秒數(shù)顺又。
問題描述
一次上學(xué)的路上,小明記錄下了經(jīng)過每段路的時間等孵,和各個紅綠燈在小明到達路口時的顏色和倒計時秒數(shù)稚照。希望你幫忙計算此次小明上學(xué)所用的時間。
輸入格式
輸入的第一行包含空格分隔的三個正整數(shù) r俯萌、y果录、g,表示紅綠燈的設(shè)置咐熙。這三個數(shù)均不超過 106弱恒。
輸入的第二行包含一個正整數(shù) n(n ≤ 100),表示小明總共經(jīng)過的道路段數(shù)和看到的紅綠燈數(shù)目棋恼。
接下來的 n 行返弹,每行包含空格分隔的兩個整數(shù) k、t蘸泻。k=0 表示經(jīng)過了一段道路琉苇,耗時 t 秒,此處 t 不超過 106悦施;k=1并扇、2、3 時抡诞,分別表示看到了一個紅燈穷蛹、黃燈土陪、綠燈,且倒計時顯示牌上顯示的數(shù)字是 t肴熏,此處 t 分別不會超過 r鬼雀、y、g蛙吏。
輸出格式
輸出一個數(shù)字源哩,表示此次小明上學(xué)所用的時間。
樣例輸入
30 3 30
8
0 10
1 5
0 11
2 2
0 6
0 3
3 10
0 3
樣例輸出
70
樣例說明
小明先經(jīng)過第一段道路鸦做,用時 10 秒励烦,然后等待 5 秒的紅燈,再經(jīng)過第二段道路泼诱,用時 11 秒坛掠,然后等待 2 秒的黃燈和 30 秒的紅燈,再經(jīng)過第三段治筒、第四段道路屉栓,分別用時6、3秒耸袜,然后通過綠燈友多,再經(jīng)過最后一段道路,用時 3 秒句灌。共計 10 + 5 + 11 + 2 + 30 + 6 + 3 + 3=70 秒夷陋。
評測用例規(guī)模與約定
測試點 1, 2 中不存在任何信號燈。
測試點 3, 4 中所有的信號燈在被觀察時均為綠燈胰锌。
測試點 5, 6 中所有的信號燈在被觀察時均為紅燈。
測試點 7, 8 中所有的信號燈在被觀察時均為黃燈藐窄。
測試點 9, 10 中將出現(xiàn)各種可能的情況资昧。
滿分代碼如下:
#include <stdio.h>
int main(){
int n,r,y,g,k,t,sum;
scanf("%d%d%d",&r,&y,&g);
scanf("%d",&n);
while(n--){
scanf("%d%d",&k,&t);
if(k==0){
sum+=t;
}else if(k==1){
sum+=t;
}else if(k==2){
sum+=t+r;
}else if(k==3){
;
}
}
printf("%d",sum);
return 0;
}
這個題很簡單,做了幾次都是滿分荆忍。
第4天打卡格带,由于系統(tǒng)升級,無法發(fā)出文章刹枉,我會在升級好的那天把所有文章都發(fā)出去叽唱。
附官網(wǎng)鏈接:http://www.cspro.org/
解決首行縮進問題:http://www.reibang.com/p/27340fd6ee34
$~~~~$