作者 陈越
单位 浙江大学
在古老的红绿灯面前,红绿色盲患者无法分辨当前亮起的灯是红色还是绿色,有些聪明人通过路口的策略是这样的:当红灯或绿灯亮起时,灯的颜色无法判断,但前方两米内有同向行走的人,就跟着前面那人行动,人家走就跟着走,人家停就跟着停;如果当前是黄灯,那么很快就要变成红灯了,于是应该停下来。麻烦的是,当灯的颜色无法判断时,前方两米内没有人……
本题就请你写一个程序,通过产生不同的提示音来帮助红绿色盲患者判断当前交通灯的颜色;但当患者可以自行判断的时候(例如黄灯或者前方两米内有人),就不做多余的打扰。具体要求的功能为:当前交通灯为红灯或绿灯时,检测其前方两米内是否有同向行走的人 —— 如果有,则患者自己可以判断,程序就不做提示;如果没有,则根据灯的颜色给出不同的提示音。黄灯也不需要给出提示。
输入格式:
输入在一行中给出两个数字 A 和 B,其间以空格分隔。其中 A 是当前交通灯的颜色,取值为 0 表示红灯、1 表示绿灯、2 表示黄灯;B 是前方行人的状态,取值为 0 表示前方两米内没有同向行走的人、1 表示有。
输出格式:
根据输入的状态在第一行中输出提示音:dudu
表示前方为绿灯,可以继续前进;biii
表示前方为红灯,应该止步;-
表示不做提示。在第二行输出患者应该执行的动作:move
表示继续前进、stop
表示止步。
输入样例 1:
0 0
输出样例 1:
biii
stop
输入样例 2:
1 1
输出样例 2:
-
move
#include<iostream>
using namespace std;
int main(){
int deng,ren;
cin>>deng>>ren;
if(ren==1){
cout<<"-"<<endl;
if(deng==1) cout<<"move";
else cout<<"stop";
}
else{
if(deng==1){
cout<<"dudu"<<endl;
cout<<"move";
}
else if(deng==0){
cout<<"biii"<<endl;
cout<<"stop";
}
else if(deng==2){
cout<<"-"<<endl;
cout<<"stop";
}
}
return 0;
}