#include <cstdint>
#include <cstdio>
// Register abstraction (USER MUST MODIFY THIS CLASS ONLY)
class Register32 {
private:
std::uint32_t value;
public:
Register32(std::uint32_t val):value(val){}
void operator|=(std::uint32_t val){
value |= val;
}
void operator&=(std::uint32_t val){
value &= val;
}
std::uint32_t get(){
return value;
}
};
int main() {
Register32 reg{0};
int n;
std::scanf("%d", &n);
for (int i = 0; i < n; ++i) {
char op[6];
int bit;
std::scanf("%s %d", op, &bit);
// MUST REMAIN UNCHANGED
if (op[0] == 'S') {
reg |= (1u << bit);
} else {
reg &= ~(1u << bit);
}
}
std::printf("reg=%u\n", reg.get());
return 0;
}
Input
3 SET 0 SET 3 CLEAR 0
Expected Output
reg=8