- Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathJavaBitSet.java
More file actions
Latest commit
29 lines (24 loc) · 932 Bytes
/
Copy pathJavaBitSet.java
File metadata and controls
29 lines (24 loc) · 932 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
packageDataStructure;
importjava.util.*;
publicclassJavaBitSet {
publicstaticvoidmain(String[] args) {
Scannerscan = newScanner(System.in);
intlength = scan.nextInt(), query = scan.nextInt();
BitSet[] bitSets = {newBitSet(length), newBitSet(length)};
Strings;
intb1, b2;
for (intx = 0; x < query; x++) {
s = scan.next();
b1 = scan.nextInt();
b2 = scan.nextInt();
switch (s) {
case"AND" -> bitSets[b1 - 1].and(bitSets[b2 - 1]);
case"OR" -> bitSets[b1 - 1].or(bitSets[b2 - 1]);
case"XOR" -> bitSets[b1 - 1].xor(bitSets[b2 - 1]);
case"SET" -> bitSets[b1 - 1].set(b2);
case"FLIP" -> bitSets[b1 - 1].flip(b2);
}
System.out.println(bitSets[0].cardinality() + " " + bitSets[1].cardinality());
}
}
}