Submission #219912

#TimeUsernameProblemLanguageResultExecution timeMemory
219912Sho10Trampoline (info1cup20_trampoline)C++14
23 / 100
2094 ms56224 KiB
/* ID: Sho10 LANG: C++ */ #include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho10 #define ll long long int #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define all(a) (a).begin(), (a).end() #define sz size #define f first #define s second #define pb push_back #define er erase #define in insert #define mp make_pair #define pi pair #define rc(s) return cout<<s,0 #define endl '\n' #define mod 1000000007 #define PI 3.14159265359 #define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; ll n,m,q,t,a[2505][2505],x,y,val; map<pair<ll,ll>,ll>viz; int32_t main(){ CODE_START; cin>>n>>m>>val; for(ll i=0;i<val;i++) { cin>>x>>y; a[x][y]=1; } ll xx,yy,xs,ys; cin>>t; while(t--){ cin>>xs>>ys>>xx>>yy; queue<ll>q1; queue<ll>q2; q1.push(xs); q2.push(ys); viz.clear(); viz[{xs,ys}]=1; while(!q1.empty()){ x=q1.front(); y=q2.front(); if(a[x][y]==1){ if(y+1<=m){ if(viz[{x,y+1}]==0&&y<yy){ q1.push(x); q2.push(y+1); viz[{x,y+1}]=1; } } if(x+1<=n&&x<xx){ if(viz[{x+1,y}]==0){ q1.push(x+1); q2.push(y); viz[{x+1,y}]=1; } } }else { if(y+1<=m&&y<yy){ if(viz[{x,y+1}]==0){ q1.push(x); q2.push(y+1); viz[{x,y+1}]=1; } } } if(x==xx&&y==yy){ break; } q2.pop(); q1.pop(); } if(viz[{xx,yy}]==1){ cout<<"Yes"<<endl; }else cout<<"No"<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...