GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 25 / 0 / 25
Functions: 100.0% 1 / 0 / 1
Branches: 62.1% 36 / 0 / 58

test/cpv/aizu-itp2/itp2_10_d.bitset.cpp
Line Branch Exec Source
1 // competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/courses/lesson/8/ITP2/all/ITP2_10_D
2 #include "../../../src/util/alias/others/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 n;
8
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
10 std::cin >> n;
9
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
10 vec<std::bitset<64>> masks(n);
10
2/2
✓ Branch 5 taken 61 times.
✓ Branch 6 taken 10 times.
71 for (auto& m : masks) {
11 u32 k;
12
1/2
✓ Branch 1 taken 61 times.
✗ Branch 2 not taken.
61 std::cin >> k;
13
2/2
✓ Branch 0 taken 660 times.
✓ Branch 1 taken 61 times.
721 flt_ (u32, i, 0, k, x) {
14
1/2
✓ Branch 1 taken 660 times.
✗ Branch 2 not taken.
660 std::cin >> x;
15
1/2
✓ Branch 1 taken 660 times.
✗ Branch 2 not taken.
660 m.set(x);
16 }
17 }
18 u32 q;
19
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
10 std::cin >> q;
20 10 std::bitset<64> bs;
21
2/2
✓ Branch 0 taken 342477 times.
✓ Branch 1 taken 10 times.
342487 while (q--) {
22 u32 op, i;
23
2/4
✓ Branch 1 taken 342477 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 342477 times.
✗ Branch 5 not taken.
342477 std::cin >> op >> i;
24
9/10
✓ Branch 0 taken 89827 times.
✓ Branch 1 taken 628 times.
✓ Branch 2 taken 363 times.
✓ Branch 3 taken 361 times.
✓ Branch 4 taken 10262 times.
✓ Branch 5 taken 10259 times.
✓ Branch 6 taken 10263 times.
✓ Branch 7 taken 210246 times.
✓ Branch 8 taken 10268 times.
✗ Branch 9 not taken.
342477 switch (op) {
25
2/4
✓ Branch 3 taken 89827 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 89827 times.
✗ Branch 7 not taken.
89827 case 0: std::cout << bs[i] << '\n'; break;
26 628 case 1: bs |= masks[i]; break;
27 363 case 2: bs &= ~masks[i]; break;
28 361 case 3: bs ^= masks[i]; break;
29
2/4
✓ Branch 5 taken 10262 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 10262 times.
✗ Branch 9 not taken.
10262 case 4: std::cout << ((bs & masks[i]) == masks[i]) << '\n'; break;
30
2/4
✓ Branch 4 taken 10259 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10259 times.
✗ Branch 8 not taken.
10259 case 5: std::cout << (bs & masks[i]).any() << '\n'; break;
31
2/4
✓ Branch 4 taken 10263 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10263 times.
✗ Branch 8 not taken.
10263 case 6: std::cout << (bs & masks[i]).none() << '\n'; break;
32
2/4
✓ Branch 4 taken 210246 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 210246 times.
✗ Branch 8 not taken.
210246 case 7: std::cout << (bs & masks[i]).count() << '\n'; break;
33
2/4
✓ Branch 4 taken 10268 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10268 times.
✗ Branch 8 not taken.
10268 case 8: std::cout << (bs & masks[i]).to_ullong() << '\n'; break;
34 }
35 }
36 10 return 0;
37 10 }
38