Submission #714228

#TimeUsernameProblemLanguageResultExecution timeMemory
714228vjudge1Event Hopping (BOI22_events)C++17
10 / 100
1579 ms30412 KiB
#include <iostream> #include <vector> #include <queue> using namespace std; int n, q; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> q; vector<int>g[n + 1]; 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'; // } while(q--){ int u, v; cin >> u >> v; queue<int>que; que.push(u); int dist[n + 1]; for(int i = 1;i <= n;++i)dist[i] = -1; dist[u] = 0; while(!que.empty()){ int cur = que.front(); que.pop(); for(int v : g[cur]){ if(dist[v] == -1){ dist[v] = dist[cur] + 1; que.push(v); } } } if(dist[v] == -1)cout << "impossible\n"; else cout << dist[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...