GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 18 / 0 / 18
Functions: 100.0% 1 / 0 / 1
Branches: 69.0% 29 / 0 / 42

test/cpv/library-checker-graph/bipartitematching.dinic.cpp
Line Branch Exec Source
1 // competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/bipartitematching
2 #include "../../../src/graph/nf/dinic/lib.hpp"
3
4 using namespace tifa_libs;
5 44 int main() {
6
1/2
✓ Branch 2 taken 44 times.
✗ Branch 3 not taken.
44 std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);
7 u32 l, r, m;
8
3/6
✓ Branch 1 taken 44 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 44 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 44 times.
✗ Branch 8 not taken.
44 std::cin >> l >> r >> m;
9 44 u32 s = l + r, t = l + r + 1;
10 44 dinic big(l + r + 2);
11
2/2
✓ Branch 1 taken 3318098 times.
✓ Branch 2 taken 44 times.
3318142 flt_ (u32, i, 0, l) big.add(s, i, 1);
12
2/2
✓ Branch 1 taken 3284045 times.
✓ Branch 2 taken 44 times.
3284089 flt_ (u32, i, 0, r) big.add(i + l, t, 1);
13
4/6
✓ Branch 1 taken 7273057 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 7273057 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 7273057 times.
✓ Branch 8 taken 44 times.
7273101 for (u32 i = 0, u, v; i < m; ++i) std::cin >> u >> v, big.add(u, v + l, 1);
14
2/4
✓ Branch 2 taken 44 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 44 times.
✗ Branch 6 not taken.
44 std::cout << big.get(s, t) << '\n';
15
2/2
✓ Branch 0 taken 3318098 times.
✓ Branch 1 taken 44 times.
3318142 flt_ (u32, i, 0, l) {
16 3318098 u32 ret = s;
17
2/2
✓ Branch 6 taken 7996865 times.
✓ Branch 7 taken 879643 times.
8876508 for (auto v : big.e[i])
18
5/6
✓ Branch 0 taken 3318098 times.
✓ Branch 1 taken 4678767 times.
✓ Branch 2 taken 3318098 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2438455 times.
✓ Branch 5 taken 879643 times.
7996865 if (v.w == 0 && l <= v.to && v.to < l + r) {
19 2438455 ret = v.to - l;
20 2438455 break;
21 }
22
6/10
✓ Branch 0 taken 2438455 times.
✓ Branch 1 taken 879643 times.
✓ Branch 3 taken 2438455 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 2438455 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2438455 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 2438455 times.
✗ Branch 13 not taken.
3318098 if (ret != s) std::cout << i << ' ' << ret << '\n';
23 }
24 44 return 0;
25 44 }
26