제출 #1120931

#제출 시각아이디문제언어결과실행 시간메모리
1120931vjudge1Event Hopping (BOI22_events)C++17
0 / 100
1539 ms4100 KiB
#include <bits/stdc++.h> #define ll long long #define all(x) x.begin(), x.end() #define in insert #define F first #define S second #define ppf pop_front #define pb push_back #define ppb pop_back #define pf push_front #define pii pair <int, int> #define pll pair <ll, ll> #define boost() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define sz(x) (int)x.size() using namespace std; const int N = 1e5+123; const ll mod = 1e9+7; vector<int> g[N]; void solve() { int n,q; cin >> n >> q; pii a[n+1]; for(int i=1 ; i <= n ; i++){ cin >> a[i].F >> a[i].S; } sort(a+1 , a+1+n); for(int i=1; i <= n ; i++){ for(int j=1 ; j <= n ; j++){ if(i == j) continue; if(a[j].F <= a[i].S && a[i].S <= a[j].S){ g[i].pb(j); } } } while(q--){ int x,y; cin >> x >> y; vector<int> dis(n+1 , -1); queue<int> qu; dis[x]=0; qu.push(x); while(!qu.empty()){ int v=qu.front(); qu.pop(); for(int to : g[v]){ if(dis[to] == -1){ dis[to]=dis[v]+1; qu.push(to); } } } if(dis[y] == -1){ cout << "impossible\n"; } else cout << dis[y] << endl; } } signed main() { boost(); int tt=1; //cin >> tt; while (tt--) { solve(); } return 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...