トップページ -> AOJの解答例 -> ITP2_9の解答例

ITP2_9の解答例(Python)

集合の演算に関する問題です.

1. ITP2_9_A: Set Union

和集合(2つの集合のどちらかに含まれる要素の集合)を求める問題です.

# ITP2_9_A

n = int(input())
A = set(map(int,input().split(" ")))

m = int(input())
B = set(map(int,input().split(" ")))

# 和集合
C = sorted(A | B)
for x in C:
    print(x)

2. ITP2_9_B: Set Intersection

積集合(共通部分)を求める問題です.

# ITP2_9_B

n = int(input())
A = set(map(int,input().split(" ")))

m = int(input())
B = set(map(int,input().split(" ")))

# 積集合
C = sorted(A & B)
for x in C:
    print(x)

3. ITP2_9_C: Set Difference

差集合を求める問題です.

# ITP2_9_C

n = int(input())
A = set(map(int,input().split(" ")))

m = int(input())
B = set(map(int,input().split(" ")))

# 差集合
C = sorted(A - B)
for x in C:
    print(x)

4. ITP2_9_D: Set Symmetric Difference

互いに素な集合(どちらかのみに属する要素の集合)を求める問題です. 和集合から積集合を引けば求められます.

# ITP2_9_D

n = int(input())
A = set(map(int,input().split(" ")))

m = int(input())
B = set(map(int,input().split(" ")))

# 互いに素な集合 和集合から積集合を引けばいい
C = sorted((A | B) - (A & B))
for x in C:
    print(x)

<- 前へ戻る 【目次に戻る】 次へ進む ->