题目:
# 输入数据包含T个测试实例。
# 首先输入数字T,然后输入T组测试数据,每组输入数据占1行,每行数据的开始是2个整数n(0<=n<=100)和m(0<=m<=100),分别表示集合A和集合B的元素个数,
# 然后紧跟着n+m个元素,前面n个元素属于集合A,其余的属于集合B. 每个元素为不超出int范围的整数,元素之间由一个空格隔开.
# 输出说明 :
# 针对每组数据输出一行数据,表示A-B的结果,如果结果为空集合,则输出“NULL”,否则从小到大输出结果,为了简化问题,每个元素后面跟一个空格.
# 输入范例 :
# 2
# 3 3 1 2 3 1 4 7
# 3 7 2 5 8 2 3 4 5 6 7 8
# 输出范例 :
# 2 3
# NULL
代码:
T = int(input("请输入T:"))
while T > 0:
T -= 1
A_set = set(map(int, input("输入集合A的元素,用空格分隔:").split()))
B_set = set(map(int, input("输入集合B的元素,用空格分隔:").split()))
result_set = A_set - B_set
if len(result_set) == 0:
print("NULL")
else:
sorted_result = sorted(result_set)
print(" ".join(map(str, sorted_result)))
# 首先,代码读取一个整数T,表示测试实例的数量。
# 然后,对于每个测试实例,代码执行以下操作:
# 读取两个整数n和m,分别表示集合A和集合B的元素个数。
# 接着读取n+m个整数,前n个整数属于集合A,其余的整数属于集合B。
# 使用集合运算(A - B),计算集合A中不属于集合B的元素组成的集合。
# 如果结果集合为空,输出"NULL"。否则,输出结果集合中的元素(从小到大排序),每个元素后面跟一个空格。