1039 Course List for Student
题目大意:给出待查询人数和学生的选课情况,按查询顺序输出每个学生的选课情况
简单的模拟,键值对dict即可。一开始最后一个测试点超时,原因是for…in语句的使用之后还是要判断下标,改成下标索引就能过了,但是测试点1的非零返回还是没找到原因,可能是pat后台对python检测有点问题吧,相同的做法C++完美AC
n,k=map(int,input().split())
select_courses={}
for i in range(k):
course,num=map(int,input().split())
name=input().split()
for j in name:
if j not in select_courses:
select_courses[j]=[course]
else:
select_courses[j].append(course)
query=input().split()
for i in range(len(query)):
if query[i] in select_courses:
total=len(select_courses[query[i]])
select_courses[query[i]].sort()
else:
total=0
print(query[i],total,end="")
if total!=0:
for j in select_courses[query[i]]:
print(" "+str(j),end="")
if i!=len(query)-1:
print()