Submission #9391

#TimeUsernameProblemLanguageResultExecution timeMemory
9391jwvg0425Your life (kriii2_Y)C++98
1 / 4
1000 ms60216 KiB
#include<stdio.h> #include<vector> #include<queue> std::vector<int> route[100000]; int length[100000]; int main(void) { std::queue<int> queue; int N, M, x, y, min = -1; scanf("%d %d", &N, &M); for (int i = 0; i < M; i++) { scanf("%d %d", &x, &y); route[x - 1].push_back(y - 1); } queue.push(0); for (int l = 0; !queue.empty(); l++) { int size = queue.size(); for (int i = 0; i < size; i++) { int n = queue.front(); queue.pop(); if (length[n] != 0 && length[n] < l) { continue; } length[n] = l; if (n == N - 1) { min = l; goto END; } for (int j = 0; j < route[n].size(); j++) { queue.push(route[n][j]); } } } END: printf("%d", min); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...