Submission #714221

#TimeUsernameProblemLanguageResultExecution timeMemory
714221vjudge1Event Hopping (BOI22_events)C++17
10 / 100
1581 ms128404 KiB
#include <bits/stdc++.h> using namespace std; vector<vector<int>>g; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, q; cin >> n >> q; g.resize(n + 1); vector<pair<int, int>>events(n + 1); for(int i = 1;i <= n;++i){ cin >> events[i].first >> events[i].second; } for(int i = 1;i <= n;++i){ for(int j = 1;j <= n;++j){ if(i == j)continue; if(events[i].second >= events[j].first && events[i].second <= events[j].second){ g[i].push_back(j); } } } // for(int i = 1;i <= n;++i){ // cout << i << ": "; // for(int j : g[i]){ // cout << j << " "; // } // cout << '\n'; // } vector<vector<int>>dist(n + 1, vector<int>(n + 1, -1)); for(int i = 1;i <= n;++i){ dist[i][i] = 0; queue<int>q; q.push(i); while(!q.empty()){ int cur = q.front(); q.pop(); for(int v : g[cur]){ if(dist[i][v] == -1){ dist[i][v] = dist[i][cur] + 1; q.push(v); } } } } while(q--){ int u, v; cin >> u >> v; if(dist[u][v] == -1)cout << "impossible\n"; else cout << dist[u][v] << '\n'; } }
#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...