一、题目
二、解析
分类讨论:
- 0(道路):累加时间
- 1(红灯):累加时间
- 2(黄灯):累加时间,同时加上红灯的时间
- 3(绿灯):不用累加
三、代码
#include <iostream>
using namespace std;
int r, y, g;
int n;
int main()
{
int cnt = 0;
cin >> r >> y >> g;
cin >> n;
for (int i = 0; i < n; i++) {
int k, t;
cin >> k >> t;
switch (k) {
//通过道路
case 0:
cnt += t;
break;
//红灯
case 1:
cnt += t;
break;
//黄灯
case 2:
cnt += t + r;
break;
//绿灯
case 3:
break;
}
}
cout << cnt << endl;
return 0;
}
输入:
30 3 30
8
0 10
1 5
0 11
2 2
0 6
0 3
3 10
0 3
输出:
70