Codeforces Round #417 (Div. 2) A. Sagheer and Crossroads 模擬 枚舉
阿新 • • 發佈:2017-06-02
ces color 一次 name exit main cst space amp
Codeforces Round #417 (Div. 2)
A. Sagheer and Crossroads
模擬 枚舉
題意 一個紅綠燈 按逆時針方向一次給出各個路口的左轉,直行,右轉,以及行人車道
讓你判斷,汽車是否有可能撞到行人
註意 當前車道的左轉有可能撞到別的車道的行人的
題解 一大堆特判
1 #include <cstdio> 2 #include <cmath> 3 #include <cstdlib> 4 #include <cstring> 5 #include <algorithm> 6#include <string> 7 #include <iomanip> 8 #include <iostream> 9 using namespace std ; 10 11 int a[5][5] ; 12 13 inline void die() 14 { 15 printf("YES\n") ; 16 exit(0) ; 17 } 18 19 int main() 20 { 21 for(int i=1;i<=4;i++) 22 for(int j=1;j<=4;j++) 23 scanf("%d",&a[ i ][ j ]) ; 24 if(a[ 1 ][ 4 ]) 25 { 26 if(a[ 1 ][ 1 ]||a[ 1 ][ 2 ]||a[ 1 ][ 3 ]) die() ; 27 if(a[ 2 ][ 1 ]) die() ; 28 if(a[ 3 ][ 2 ]) die() ; 29 if(a[ 4 ][ 3 ]) die() ; 30 } 31 if(a[ 2 ][ 4 ]) 32 { 33 if(a[ 2 ][ 1 ]||a[ 2][ 2 ]||a[ 2 ][ 3 ]) die() ; 34 if(a[ 3 ][ 1 ]) die() ; 35 if(a[ 4 ][ 2 ]) die() ; 36 if(a[ 1 ][ 3 ]) die() ; 37 } 38 if(a[ 3 ][ 4 ]) 39 { 40 if(a[ 3 ][ 1 ]||a[ 3 ][ 2 ]||a[ 3 ][ 3 ]) die() ; 41 if(a[ 4 ][ 1 ]) die() ; 42 if(a[ 1 ][ 2 ]) die() ; 43 if(a[ 2 ][ 3 ]) die() ; 44 } 45 if(a[ 4 ][ 4 ]) 46 { 47 if(a[ 4 ][ 1 ]||a[ 4 ][ 2 ]||a[ 4 ][ 3 ]) die() ; 48 if(a[ 4 ][ 2 ]) die() ; 49 if(a[ 1 ][ 1 ]) die() ; 50 if(a[ 2 ][ 2 ]) die() ; 51 if(a[ 3 ][ 3 ]) die() ; 52 } 53 printf("NO\n") ; 54 return 0 ; 55 }
Codeforces Round #417 (Div. 2) A. Sagheer and Crossroads 模擬 枚舉