CCF-CSP 201812-1小明上学 简单思路 满分题解
题目链接:CCF-CSP 201812-1小明上学
思路:
1.红绿灯的变化顺序为红->绿->黄。
2.根据小明到达路口时红绿灯的颜色,判断接下来操作。
3.分析样例可知,仅当遇到黄灯时,需要等待红灯。
代码如下:(结尾附上样例)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int r,y,g;cin>>r>>y>>g;
int n;cin>>n;
int sum=0;
int k,t;
while(n--)
{
cin>>k>>t;
if(k==0)//此时直接通过
{
sum+=t;
}
else if(k==1)//此时遇到红灯,需要等待;
{
sum+=t;
}
else if(k==2)//此时遇到黄灯,需要等待黄灯的时间和接下来的红灯时间
{
sum+=t;
sum+=r;
}
else if(k==3)//此时遇到绿灯,直接通过
{
sum+=0;
}
}
cout<<sum<<endl;
return 0;
}
//样例输入
//30 3 30
//8
//0 10
//1 5
//0 11
//2 2
//0 6
//0 3
//3 10
//0 3