Submission #9227

#TimeUsernameProblemLanguageResultExecution timeMemory
9227shashackYour life (kriii2_Y)C++98
4 / 4
204 ms7188 KiB
#include<iostream> #include<vector> #include<queue> using namespace std; int main(){ int N, M; cin >> N >> M; vector<vector<int> >adj(N+1); vector<bool> visit(N + 1, false); for (int i = 0; i < M; i++) { int u, v; cin >> u >> v; adj[u].push_back(v); } priority_queue <pair<int, pair<int, int> > >pq; pq.push(make_pair(0, make_pair(0, 1))); while (true){ if (pq.empty()){ cout << -1 << endl; break; } int val = -pq.top().first; int u = pq.top().second.first; int v = pq.top().second.second; pq.pop(); for (int i = 0; i < adj[v].size(); i++){ if (!visit[adj[v][i]]) { if (adj[v][i] == N) { cout << val + 1 << endl; return 0; } visit[adj[v][i]] = true; pq.push(make_pair(-1 * (val + 1), make_pair(v, adj[v][i]))); } } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...