We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 492a9e5 commit c4543c1Copy full SHA for c4543c1
LMIO/LMiO 17-faktai.cpp
@@ -0,0 +1,42 @@
1
+/*
2
+LMiO 2017 Faktai
3
+- Bitmask stuff
4
+*/
5
+
6
+#include <bits/stdc++.h>
7
+using namespace std;
8
9
+bitset<200> bs[20];
10
11
+int main() {
12
+ int n, m;
13
+ scanf("%d %d", &n, &m);
14
+ for (int i = 0; i < n; i++) {
15
+ int k;
16
+ scanf("%d", &k);
17
+ for (int j = 0; j < k; j++) {
18
+ int f;
19
+ scanf("%d", &f);
20
+ bs[f - 1][i] = 1;
21
+ }
22
23
24
+ int lb = n, ub = 0;
25
+ for (int mask = 0; mask < (1 << m); mask++) {
26
+ bitset<200> cov;
27
+ bool good = true;
28
+ for (int i = 0; i < m; i++) if (mask & (1 << i)) {
29
+ if ((cov & bs[i]).count()) {
30
+ good = false;
31
+ break;
32
33
+ cov |= bs[i];
34
35
+ if (good && cov.count() == n) {
36
+ lb = min(lb, __builtin_popcount(mask));
37
+ ub = max(ub, __builtin_popcount(mask));
38
39
40
+ printf("%d %d", lb, ub);
41
+ return 0;
42
+}
0 commit comments