EZDIJKST - Easy Dijkstra Problem
Determine the shortest path between the specified vertices in the graph given in the input data.
Hint: You can use Dijkstra's algorithm.
Hint 2: if you're a lazy C++ programmer, you can use set and cin/cout (with sync_with_stdio(0)) - it should suffice.
first line - one integer - number of test cases
For each test case the numbers V, K (number of vertices, number of edges) are given,
Then K lines follow, each containing the following numbers separated by a single space:
ai, bi, ci
It means that the graph being described contains an edge from ai to bi,
with a weight of ci.
Below the graph description a line containing a pair of integers A, B is present.
The goal is to find the shortest path from vertex A to vertex B.
All numbers in the input data are integers in the range 0..10000.
For each test case your program should output (in a separate line) a single number C - the length of the shortest path from vertex A to vertex B. In case there is no such path, your program should output a single word "NO" (without quotes)
Input: 3 3 2 1 2 5 2 3 7 1 3 3 3 1 2 4 1 3 7 2 3 1 1 3 3 1 1 2 4 1 3 Output: 12 5 NO
My god,was using scanf inside io_base::sync_with_stdio(FALSE),got 7 SIGSEV's and finally AC in 0.00s :)
thanks to STL in c++...:)
my god this is directed
i was taking undirected graph this cause me 1 WA......PROBLEM SETTER plz mention this in question
Thanks @tranquil, got WA: I used undirected. :P
Breaking on loop from target node does not cost wa :)
Breaking from loop on finding target node costed me 4 WA's. Print result after all the distances are calculated. Still dont know the reason why ?
A small mistake and SIGABRT for some 2 days :D Feeling so lucky after solving this question
Last edit: 2014-07-11 18:44:36