PAT 甲级 1039 Course List for Student

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()

你可能感兴趣的:(PAT,python)