test/cpv/aizu-grl/grl_1_c.johnson.cpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/courses/library/5/GRL/all/GRL_1_C | ||
| 2 | #include "../../../src/graph/sp/johnson/lib.hpp" | ||
| 3 | |||
| 4 | using namespace tifa_libs; | ||
| 5 | 50 | int main() { | |
| 6 |
1/2✓ Branch 2 taken 50 times.
✗ Branch 3 not taken.
|
50 | std::cin.tie(nullptr)->std::ios::sync_with_stdio(false); |
| 7 | u32 n, m; | ||
| 8 |
2/4✓ Branch 1 taken 50 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 50 times.
✗ Branch 5 not taken.
|
50 | std::cin >> n >> m; |
| 9 | 50 | CEXP i64 INF = inf_v<i64>; | |
| 10 | 50 | vec<edge_t<i64>> arcs; | |
| 11 |
2/2✓ Branch 0 taken 36464 times.
✓ Branch 1 taken 50 times.
|
36514 | flt_ (u32, i, 0, m) { |
| 12 | u32 u, v; | ||
| 13 | i64 w; | ||
| 14 |
3/6✓ Branch 1 taken 36464 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 36464 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 36464 times.
✗ Branch 8 not taken.
|
36464 | std::cin >> u >> v >> w; |
| 15 |
1/2✓ Branch 1 taken 36464 times.
✗ Branch 2 not taken.
|
36464 | arcs.emplace_back(w, u, v); |
| 16 | } | ||
| 17 | 50 | auto d = johnson(n, arcs, INF); | |
| 18 |
2/2✓ Branch 1 taken 7 times.
✓ Branch 2 taken 43 times.
|
50 | if (!d) { |
| 19 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
7 | std::cout << "NEGATIVE CYCLE\n"; |
| 20 | 7 | return 0; | |
| 21 | } | ||
| 22 |
3/4✓ Branch 1 taken 43 times.
✗ Branch 2 not taken.
✓ Branch 8 taken 2103 times.
✓ Branch 9 taken 43 times.
|
2146 | for (auto CR i : d.value()) |
| 23 |
2/2✓ Branch 0 taken 160357 times.
✓ Branch 1 taken 2103 times.
|
162460 | flt_ (u32, j, 0, n) { |
| 24 |
2/2✓ Branch 1 taken 43056 times.
✓ Branch 2 taken 117301 times.
|
160357 | if (i[j] == INF) std::cout << "INF" |
| 25 |
2/4✓ Branch 1 taken 43056 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 43056 times.
✗ Branch 5 not taken.
|
43056 | << " \n"[j + 1 == n]; |
| 26 |
2/4✓ Branch 2 taken 117301 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 117301 times.
✗ Branch 6 not taken.
|
117301 | else std::cout << i[j] << " \n"[j + 1 == n]; |
| 27 | } | ||
| 28 | 43 | return 0; | |
| 29 | 50 | } | |
| 30 |