오답노트
[비트마스크] BOJ 11723 집합 본문
https://www.acmicpc.net/problem/11723
- 문제 파악
공집합 S가 있고 문자열과 정수가 입력되면 그에 맞는 기능을 실행하고 check가 입력되면 같이 입력된 정수의 상태를 출력한다.
- 정답
비트마스크 문제이지만 배열로 풀었다.
#include "bits/stdc++.h"
using namespace std;
int arr[22];
int ans = 0x7ffffff;
int main()
{
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
while (n--)
{
int Num;
string cmd;
cin >> cmd;
if (cmd == "add")
{
cin >> Num;
arr[Num] = 1;
}
else if (cmd == "check")
{
cin >> Num;
cout << arr[Num] << "\n";
}
else if (cmd == "remove")
{
cin >> Num;
arr[Num] = 0;
}
else if (cmd == "toggle")
{
cin >> Num;
if (arr[Num])
arr[Num] = 0;
else
arr[Num] = 1;
}
else if (cmd == "all")
{
for (int i = 1; i < 21; i++)
arr[i] = 1;
}
else if (cmd == "empty")
{
for (int i = 1; i < 21; i++)
arr[i] = 0;
}
}
}
'C,C++ > 코딩테스트' 카테고리의 다른 글
[DP] BOJ 11727 2Xn 타일링 2 - 오답노트 (0) | 2022.05.09 |
---|---|
[비트마스크] BOJ 1182 부분수열의 합 (0) | 2022.05.09 |
[순열] BOJ 10971 외판원 순회 2 (0) | 2022.05.08 |
[순열] BOJ 10819 차이를 최대로 (0) | 2022.05.08 |
[순열] BOJ 10973 이전 순열 (0) | 2022.05.08 |