CodeForces - 1055A Metro (模擬)
阿新 • • 發佈:2018-12-01
題目大意:
Bob要到Alice家中參加宴會。
Bob住在地鐵線的1號站點,Alice住在s號站點(一共n個站點)。有兩條地鐵列車,第一條從1號站開到n號站,第二條從n號站開到1號站(可以同站換乘,就是可以在在1個地鐵站從正著開的那條線換乘到反著開的那條線)。有一些地鐵站口是不開的,1代表開著,0代表不開。
問Bob能否到達Alice家、題解:
模擬。
首先如果a[1]是關閉的(沒法上車),或者a[s]b[s]都是關閉的(沒法下車),那麼肯定到不了。
否則,如果a[s]為1,肯定可以。
否則就是b[s]為1的情況,只要在s到n之間可以換成那麼就可以了。
#include<bits/stdc++.h> #include<cstring> #define ll unsigned long long using namespace std; int a[1010]; int b[1010]; int main() { int n,s; cin>>n>>s; for(int i=1; i<=n; ++i) cin>>a[i]; for(int j=1; j<=n; ++j) cin>>b[j]; if(a[1]==0 || (a[s]==0 && b[s]==0)) puts("NO"); else { if(a[s]==1) puts("YES"); else//b[s]=1 { bool flag=0; for(int i=s; i<=n; ++i) if(a[i]==1 && b[i]==1) flag=1; if(flag) puts("YES"); else puts("NO"); } } return 0; }