Good day! I'm interested in the solution of the following problem via Ford-Bellman algorithm, because I only solved the one via Dijkstra. But my solution was not enough successful (4 tests of 13 passed).
Statement of the problem:
Any suggestion?
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
Good day! I'm interested in the solution of the following problem via Ford-Bellman algorithm, because I only solved the one via Dijkstra. But my solution was not enough successful (4 tests of 13 passed).
Statement of the problem:
Any suggestion?
Name |
---|
So, why don't you subtract 500 from length of every edge? It's not correct to subtract it only in the end because you don't know the length of the shortest path in advance.
Let me give an example: say you have found a path with length 3000 with 5 edges. So you output 3000 — 5 * 500 = 500. But if there exists a path with length 3200 with 6 edges, it would give 3200 — 6 * 500 = 200. Which is better. But you only find the first one because without the subtracted 500 from every edge it is shorter.