https://www.acmicpc.net/problem/11723
*일반적인 문제에서는 메모리를 기본으로 512MB, 256MB를 주는 편인데, 이렇게 4MB, 1MB 등의 형태로 나온다면 비트단위 연산이 필요할 것으로 판단하면 좋습니다.(int나 long, char 등의 자료형에서 0,1만을 사용하여 비트마스킹)
- 메모리 제한 -> 비트마스킹, 배열 등 자료구조 없는 단순 구현
 - 1<=x<=20 -> 2^20 비트마스킹
 
#include<iostream>
using namespace std;
int n, answer = 0, x = 1;
void input() {
	cin >> n;
}
void add(int num) {
	answer |= (x << --num);
}
void remove(int num) {
	if(answer & (x << (num - 1)))
		answer ^= (x << --num);
}
int check(int num) {
	if (answer & (x << --num)) return 1;
	return 0;
}
void toggle(int num) {
	answer ^= (x << --num);
}
void all() {
	answer = 0b11111'11111'11111'11111;
}
void solution() {
	input();
	string cmd;
	int num;
	for (int i = 0; i < n; ++i) {
		cin >> cmd;
		if (!(cmd == "all" || cmd == "empty")) cin >> num;
		if (cmd == "add") add(num);
		else if (cmd == "remove") remove(num);
		else if (cmd == "check") cout << check(num) << '\n';
		else if (cmd == "toggle") toggle(num);
		else if (cmd == "all") all();
		else answer = 0;
	}
}
int main() {
	cin.tie(0), cout.tie(0), ios_base::sync_with_stdio(0);
	solution();
	return 0;
}
