题意就是,有一个十字路口如图所示,然后给你标出每个路口是否有车,是往左还是直走还是往右,然后还给出行人灯,如果是1就是绿灯。问是否有可能有车撞到人的事故发生。
四个路口,我们直接记录每个路口的信息,如果某个路口行人灯是绿的,我们就判断四个路口是否有情况会发生事故。
代码如下:
#include<bits/stdc++.h>
using namespace std;
struct node
{
int l, s, r, p;
}a[5];
int main()
{
bool flag = 0;
for(int i = 0; i < 4; i++)
{
scanf("%d%d%d%d", &a[i].l, &a[i].s, &a[i].r, &a[i].p);
}
for(int i = 0; i < 4; i++)
{
if(a[i].p == 1)
{
if(a[i].l || a[i].s || a[i].r)
flag = 1;
if(a[(i + 2) % 4].s)
flag = 1;
if(a[(i + 1) % 4].l)
flag = 1;
if(a[i == 0 ? 3 : i - 1].r)
flag = 1;
}
}
if(flag)
cout << "YES" << endl;
else
cout << "NO" << endl;
return 0;
}