GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 19 / 0 / 19
Functions: 100.0% 1 / 0 / 1
Branches: 60.5% 23 / 0 / 38

test/cpv/library-checker-other/two_sat.cpp
Line Branch Exec Source
1 // competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/two_sat/
2 #include "../../../src/graph/sat2/lib.hpp"
3
4 using namespace tifa_libs;
5 18 int main() {
6
1/2
✓ Branch 2 taken 18 times.
✗ Branch 3 not taken.
18 std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);
7 18 strn s;
8
2/4
✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 18 times.
✗ Branch 5 not taken.
18 std::cin >> s >> s;
9 u32 n, m;
10
2/4
✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 18 times.
✗ Branch 5 not taken.
18 std::cin >> n >> m;
11 i32 u, v, w;
12 18 sat2 s2(n);
13
2/2
✓ Branch 0 taken 6831143 times.
✓ Branch 1 taken 18 times.
6831161 flt_ (u32, i, 0, m) {
14
3/6
✓ Branch 1 taken 6831143 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 6831143 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 6831143 times.
✗ Branch 8 not taken.
6831143 std::cin >> u >> v >> w;
15 6831143 bool fu = u > 0, fv = v > 0;
16 6831143 s2.add((u32)abs(u) - 1, fu, (u32)abs(v) - 1, fv);
17 }
18 18 auto ans = s2.solve();
19
2/2
✓ Branch 1 taken 5 times.
✓ Branch 2 taken 13 times.
18 if (!ans) {
20
1/2
✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
5 std::cout << "s UNSATISFIABLE\n";
21 5 return 0;
22 }
23
1/2
✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
13 std::cout << "s SATISFIABLE\nv";
24
8/12
✓ Branch 1 taken 5669312 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5669312 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5669312 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2132778 times.
✓ Branch 11 taken 3536534 times.
✓ Branch 13 taken 5669312 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 5669312 times.
✓ Branch 16 taken 13 times.
5669325 for (i32 i = 0; (u32)i < n; ++i) std::cout << ' ' << (ans.value()[(u32)i] ? (i + 1) : -(i + 1));
25
1/2
✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
13 std::cout << " 0\n";
26 13 return 0;
27 18 }
28