만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

집합

면접 대비

시간 제한1.5초메모리 제한4 MB

요약
1부터 20까지 정수 집합에 추가, 삭제, 토글, 조회, 전체 채움, 비움을 적용하고 조회 결과를 출력합니다.
난이도

쉬움10점 중 3점

유형
비트 연산, 구현
정답자
아직 제출이 없습니다

문제

비어 있는 집합 SS에 다음 연산을 수행하는 프로그램을 작성하시오.

  • add x: SS에 xx를 추가한다. SS에 xx가 이미 있으면 연산을 무시한다.
  • remove x: SS에서 xx를 제거한다. SS에 xx가 없으면 연산을 무시한다.
  • check x: SS에 xx가 있으면 1을, 없으면 0을 출력한다.
  • toggle x: SS에 xx가 있으면 xx를 제거하고, 없으면 xx를 추가한다.
  • all: SS를 {1,2,…,20}\{1, 2, \ldots, 20\}으로 바꾼다.
  • empty: SS를 공집합으로 바꾼다.

add, remove, check, toggle 연산의 xx는 1≤x≤201 \le x \le 20을 만족한다.

입력

첫째 줄에 수행할 연산의 수 MM (1≤M≤3,000,0001 \le M \le 3{,}000{,}000)이 주어진다.

둘째 줄부터 MM개의 줄에 수행할 연산이 한 줄에 하나씩 주어진다. 연산은 위에서 설명한 여섯 가지 중 하나이며, 인자가 있는 연산은 연산 이름과 xx가 공백 하나로 구분된다.

출력

check 연산이 주어질 때마다 결과를 한 줄에 하나씩, 주어진 순서대로 출력한다.

check 연산이 하나도 없으면 아무것도 출력하지 않는다.

예제1

  1. 예제 1

    입력
    26
    add 1
    add 2
    check 1
    check 2
    check 3
    remove 2
    check 1
    check 2
    toggle 3
    check 1
    check 2
    check 3
    check 4
    all
    check 10
    check 20
    toggle 10
    remove 20
    check 10
    check 20
    empty
    check 1
    toggle 1
    check 1
    toggle 1
    check 1
    
    예상 출력
    1
    1
    0
    1
    0
    1
    0
    1
    0
    1
    1
    0
    0
    0
    1
    0