Submission #670325

#TimeUsernameProblemLanguageResultExecution timeMemory
670325efedmrlrEvent Hopping (BOI22_events)C++17
10 / 100
208 ms11500 KiB
#include <bits/stdc++.h> #define int long long int #define MP make_pair #define pb push_back using namespace std; const int N = 1e3+5; const int Q = 105; const int MOD = 1e9+7; int n,m,q; vector<pair<int,int> > events; vector<int> adj[N]; vector<pair<int,int> > queries(Q); bool vis[N]; int bfs(int x, int y) { queue<int> nodes; nodes.push(x); nodes.push(-1); for (int i = 1; i <= n; i++) { vis[i] = false; } int dist = 0; int cur; while (nodes.size() > 1) { cur = nodes.front(); nodes.pop(); if(cur==-1) { dist++; nodes.push(-1); continue; } if(cur == y) { return dist; } if(vis[cur]) continue; vis[cur] = true; for (int i = 0; i < adj[cur].size(); i++) { if(vis[adj[cur][i]]) continue; nodes.push(adj[cur][i]); } } return -1; } void solve() { cin>>n>>q; events.pb(MP(-1,-1)); for (int i = 1; i <= n; i++) { int tmp1,tmp2; cin>>tmp1>>tmp2; events.pb(MP(tmp1,tmp2)); } for (int i = 0; i < q; i++) { cin>>queries[i].first>>queries[i].second; } for (int i = 1; i <= n; i++) { for (int j = i+1; j <= n; j++) { if(events[i].second > events[j].second && events[j].second >= events[i].first) { adj[j].pb(i); //cout<<j<<" >> "<<i<<"\n"; } else if(events[j].second > events[i].second && events[i].second >= events[j].first) { adj[i].pb(j); //cout<<i<<" >> "<<j<<"\n"; } else if(events[j].second == events[i].second) { adj[i].pb(j); adj[j].pb(i); } } } int res; for (int i = 0; i < q; i++) { res = bfs(queries[i].first,queries[i].second); if(res==-1) cout<<"impossible\n"; else cout<<res<<"\n"; } } signed main() { solve(); }

Compilation message (stderr)

events.cpp: In function 'long long int bfs(long long int, long long int)':
events.cpp:40:27: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |         for (int i = 0; i < adj[cur].size(); i++)
      |                         ~~^~~~~~~~~~~~~~~~~
#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...