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: 61.5% 32 / 0 / 52

test/cpv/aizu-itp2/itp2_10_c.bitset.cpp
Line Branch Exec Source
1 // competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/courses/lesson/8/ITP2/all/ITP2_10_C
2 #include "../../../src/util/alias/num/lib.hpp"
3
4 using namespace tifa_libs;
5 10 int main() {
6
1/2
✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
10 std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);
7 u32 q;
8
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
10 std::cin >> q;
9 10 std::bitset<64> bs;
10
2/2
✓ Branch 0 taken 281428 times.
✓ Branch 1 taken 10 times.
281438 while (q--) {
11 u32 op, i;
12
1/2
✓ Branch 1 taken 281428 times.
✗ Branch 2 not taken.
281428 std::cin >> op;
13
3/4
✓ Branch 0 taken 119790 times.
✓ Branch 1 taken 161638 times.
✓ Branch 3 taken 119790 times.
✗ Branch 4 not taken.
281428 if (op < 4) std::cin >> i;
14
9/10
✓ Branch 0 taken 85896 times.
✓ Branch 1 taken 11160 times.
✓ Branch 2 taken 11313 times.
✓ Branch 3 taken 11421 times.
✓ Branch 4 taken 12318 times.
✓ Branch 5 taken 12274 times.
✓ Branch 6 taken 12420 times.
✓ Branch 7 taken 112244 times.
✓ Branch 8 taken 12382 times.
✗ Branch 9 not taken.
281428 switch (op) {
15
2/4
✓ Branch 3 taken 85896 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 85896 times.
✗ Branch 7 not taken.
85896 case 0: std::cout << bs[i] << '\n'; break;
16
1/2
✓ Branch 1 taken 11160 times.
✗ Branch 2 not taken.
11160 case 1: bs.set(i); break;
17
1/2
✓ Branch 1 taken 11313 times.
✗ Branch 2 not taken.
11313 case 2: bs.reset(i); break;
18
1/2
✓ Branch 1 taken 11421 times.
✗ Branch 2 not taken.
11421 case 3: bs.flip(i); break;
19
2/4
✓ Branch 2 taken 12318 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 12318 times.
✗ Branch 6 not taken.
12318 case 4: std::cout << bs.all() << '\n'; break;
20
2/4
✓ Branch 2 taken 12274 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 12274 times.
✗ Branch 6 not taken.
12274 case 5: std::cout << bs.any() << '\n'; break;
21
2/4
✓ Branch 2 taken 12420 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 12420 times.
✗ Branch 6 not taken.
12420 case 6: std::cout << bs.none() << '\n'; break;
22
2/4
✓ Branch 2 taken 112244 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 112244 times.
✗ Branch 6 not taken.
112244 case 7: std::cout << bs.count() << '\n'; break;
23
2/4
✓ Branch 2 taken 12382 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 12382 times.
✗ Branch 6 not taken.
12382 case 8: std::cout << bs.to_ullong() << '\n'; break;
24 }
25 }
26 10 return 0;
27 }
28