Submission #992307

#TimeUsernameProblemLanguageResultExecution timeMemory
992307ramalzaherTrampoline (info1cup20_trampoline)C++14
54 / 100
2072 ms78064 KiB
#include <bits/stdc++.h> #define ll long long #define sz size() #define pb push_back #define all(x) x.begin() , x.end() using namespace std; const int N = 2505 ; int r , c , n ; map<pair<int,int> , int > mp ; bool check(vector<int> &a){ for (int i = 0; i < a.size()-1 ; i++) { if(a[i] > a[i+1] ) return 0 ; } return 1 ; } bool bfs(int xx , int yy , int endx , int endy ){ queue<pair<int,int> > q ; q.push({xx , yy}) ; while (q.size()) { auto &[x,y] = q.front() ; q.pop() ; if(x == endx && y <= endy ) {return 1 ;} if(mp[{x,y}]){ if(x+1 <= r ){ q.push({x+1 , y}) ; } } else { if(y+1 <= c ) { q.push({x , y + 1 }); } } } return 0 ; } int main() { cin >> r >> c >> n ; if(r <= 2555 && c <= 2555 ){ for (int i = 0; i < n; i++) { int a, b ; cin >> a >> b; mp[{a,b}]=1; } int t ; cin >> t; for (int i = 0; i < t; i++) { int sx , sy , ex , ey ; cin >> sx >> sy >> ex >> ey; bool ok = bfs(sx , sy , ex, ey) ; if(ok)cout<<"Yes\n" ; else cout<<"No\n"; }}else { map<int,set<int>>mp; for (int i = 0; i < n; i++) { int a, b ; cin >> a >> b; mp[a].insert(b) ; } int t ; cin >> t; for (int i = 0; i < t; i++) { vector<int> v ; bool ok= 0 ; int sx , sy , ex , ey ; cin >> sx >> sy >> ex >> ey; v.pb(sy); for(int j = sx ; j < ex ; j ++ ){ auto itt = mp[j].lower_bound(sy) ; if(itt==mp[j].end()) { v.pb(-1);ok=1; break ; } v.pb(*itt) ; sy = *itt ; //cout<<sy<<" " ; } v.pb(ey); //for(auto it : v)cout<<it<<" ";//cout<<endl; if(check(v)&&ok==0)cout<<"Yes\n"; else cout<<"No\n"; }} return 0; } /* 4 4 3 1 1 2 1 3 4 1 1 1 4 3 * * * * */

Compilation message (stderr)

trampoline.cpp: In function 'bool check(std::vector<int>&)':
trampoline.cpp:11:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |  for (int i = 0; i < a.size()-1 ; i++)
      |                  ~~^~~~~~~~~~~~
trampoline.cpp: In function 'bool bfs(int, int, int, int)':
trampoline.cpp:23:8: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   23 |  auto &[x,y]  = q.front() ;
      |        ^
#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...