-
집합 - 11723Algorithm/BOJ 2020. 2. 17. 03:411234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677//11723 - 집합#include <iostream>#include <string>using namespace std;int N;void add(int u){N |= (1 << u);}void remove(int u){N &= ~(1 << u);}void check(int u){if(N & (1 << u))cout << 1 << "\n";elsecout << 0 << "\n";}void toggle(int u){N ^= (1 << u);}void all(){N = (1 << 21) - 1;}void empty(){N = 0;}int main(){ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n; cin >> n;string s, s2;for(int i = 0; i<n; ++i){cin >> s;if(s == "all"){all();continue;}else if(s == "empty"){empty();continue;}cin >> s2;int idx = stoi(s2);if(s == "add")add(idx);else if(s == "remove")remove(idx);else if(s == "check")check(idx);else if(s == "toggle")toggle(idx);else if(s == "all")all();else if(s == "empty")empty();}}
cs https://www.acmicpc.net/problem/11723
11723번: 집합
첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다.
www.acmicpc.net
집합
비트마스크 기본 문제입니다!
'Algorithm > BOJ' 카테고리의 다른 글
거의 최단 경로 - 5719 (0) 2020.02.18 특정한 최단 경로 - 1504 (0) 2020.02.18 제국 - 16402 (0) 2020.02.14 1602 - 도망자 원숭이 (0) 2020.02.14 파티 - 1238 (0) 2020.02.13