*비트마스킹을 사용한다.
2019/05/20 - [Computer Science/STL] - 비트마스크 (해당 비트 조회/ 값 바꾸기)
비트마스크 (해당 비트 조회/ 값 바꾸기)
jayrightthere.tistory.com
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <vector> #include <string> using namespace std; int main() { int status = 0; char op[10]; int t; scanf ( "%d" , &t); while (t--) { int n; scanf ( "%10s %d" , op, &n); switch (op[0]) { case 'a' : { if (op[1] == 'd' ) { status |= (1 << n); } else if (op[1] == 'l' ) { status = (1 << 21) - 1; } break ; } case 'r' : { if ((status & (1 << n)) > 0) { status &= ~(1 << n); } break ; } case 'c' : { if ((status & (1 << n)) == 0) printf ( "%d\n" , 0); else printf ( "%d\n" , 1); break ; } case 't' : { status ^= (1 << n); break ; } case 'e' : status = 0; break ; } } return 0; } |
'BOJ > C++' 카테고리의 다른 글
[BOJ] 3709. 레이저빔은 어디로 (0) | 2020.03.13 |
---|---|
[BOJ] 1520. 내리막길 (0) | 2020.03.13 |
[BOJ] 10972, 10973 다음 순열 / 이전 순열 (0) | 2020.03.12 |
[BOJ] 9466. 텀 프로젝트 (0) | 2020.03.12 |
[BOJ] 13911. 집 구하기 (0) | 2020.03.11 |