【题意概述】
在一个十字路口 ,给定红绿灯的情况, 按逆时针方向一次给出各个路口的左转,直行,右转,以及行人车道,判断汽车是否有可能撞到行人
【题目分析】
需要在逻辑上清晰,只需要把所有情况列出来即可
【AC】
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() { 5 int light[10][10]; 6 7 8 for(int i = 1; i <= 4; i++) 9 for(int j = 1; j <= 4; j++) 10 scanf("%d",&light[i][j]); 11 int ans = false; 12 if(light[1][4]) { 13 if(light[1][1] || light[1][2] || light[1][3] || light[2][1] || light[3][2] || light[4][3]) 14 ans = true; 15 } if(light[2][4]) { 16 if(light[2][1] || light[2][2] || light[2][3] || light[1][3] || light[3][1] || light[4][2]) 17 ans = true; 18 } if(light[3][4]) { 19 if(light[3][1] || light[3][2] || light[3][3] || light[2][3] || light[1][2] || light[4][1]) 20 ans = true; 21 } if(light[4][4]) { 22 if(light[4][1] || light[4][2] || light[4][3] || light[3][3] || light[2][2] || light[1][1]) 23 ans = true; 24 } 25 if(ans) 26 printf("YES "); 27 else 28 printf("NO "); 29 return 0; 30 }