문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7060 : 집합 연산기

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

7060 : 집합 연산기

시간 1.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

두 정수 집합 A와 B가 주어졌을 때 여러 종류의 집합 연산을 수행하는 범용 집합 연산기를 구현하십시오.
처리해야 하는 연산 명령어는 다음과 같습니다.
- UNION: 두 집합의 합집합 (오름차순 출력)
- INTER: 두 집합의 교집합 (오름차순 출력)
- DIFF_AB: 차집합 A - B (오름차순 출력)
- DIFF_BA: 차집합 B - A (오름차순 출력)
- SYM: 대칭차집합 (A-B) ∪ (B-A) (오름차순 출력)
- SUB_AB: A가 B의 부분집합인지 여부 판별 (참이면 YES, 거짓이면 NO)
- SUB_BA: B가 A의 부분집합인지 여부 판별 (참이면 YES, 거짓이면 NO)

[제약 조건]
• 각 집합 크기 $n, m$: $0 \le n, m \le 100$
• 쿼리 수 $Q$: $1 \le Q \le 100$

입력 설명

첫째 줄에 집합 A의 정보가 "n a1 a2 ..." 형태로 주어집니다. (n은 원소의 개수, 0 ≤ n ≤ 100, 원소들은 정수)
둘째 줄에 집합 B의 정보가 "m b1 b2 ..." 형태로 주어집니다. (0 ≤ m ≤ 100)
셋째 줄에 수행할 연산 쿼리의 개수 Q가 주어집니다. (1 ≤ Q ≤ 100)
넷째 줄부터 Q개의 줄에 걸쳐 위에서 정의한 연산 명령어 중 하나가 주어집니다.

출력 설명

Q개의 줄에 걸쳐 각 쿼리의 연산 결과를 출력합니다.
UNION, INTER, DIFF, SYM 연산의 경우 원소들을 오름차순으로 정렬하여 공백으로 구분해 출력하고(결과가 공집합이면 빈 줄), SUB 연산의 경우 "YES" 또는 "NO"를 출력합니다.

입력 예시
COPY
복사되었습니다!

5 1 2 3 4 5
4 3 4 5 6
5
UNION
INTER
DIFF_AB
SYM
SUB_AB

출력 예시
COPY
복사되었습니다!

1 2 3 4 5 6
3 4 5
1 2
1 2 6
NO

도움

파이썬의 내장 자료형인 set 객체를 생성하십시오.
각 연산은 연산자 또는 메소드(|, &, -, ^, issubset)를 사용하여 효율적으로 계산할 수 있습니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘