336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
문제 : https://www.acmicpc.net/problem/11723
비트마스크 연습하기 딱 좋은 문제 :)
#include <iostream>
#include <string>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int m, bits = 0, op;
string order;
// op가 1부터 20이므로 그냥 0부터 19비트를 사용한다.
cin >> m;
while(m--){
cin >> order;
if(order == "all"){
bits = (1 << 20) - 1;
}else if(order == "empty"){
bits = 0;
}else{
cin >> op;
op -= 1; // 0~19번째 비트 사용.
if(order == "add"){
bits |= (1 << op);
}else if(order == "remove"){
bits &= ~(1 << op);
}else if(order == "check"){
if(bits & (1 << op))
cout << 1 << '\n';
else
cout << 0 << '\n';
}else if(order == "toggle"){
bits ^= (1 << op);
}
}
}
return 0;
}
'PS > 백준 문제풀이' 카테고리의 다른 글
[백준 1562] 계단 수 (0) | 2019.08.06 |
---|---|
[백준 1102] 발전소 (0) | 2019.08.06 |
[백준 2098] 외판원 순회 (0) | 2019.08.06 |
[백준 11000] 강의실 배정 (0) | 2019.08.05 |
[백준 9020] 골드바흐의 추측 (0) | 2019.08.05 |