python编程考试题目大全
1.题目名称:批阅奏章
某朝皇帝有大臣n名(1<=n<=1000),分别编号大臣1~n。某日皇帝身体抱恙,奏章堆积如山无法及时一一批阅,便命身旁內侍帮他把奏章按指定顺序排序后再阅。于是皇帝亲自挑选了几个值得信赖的重臣并排好序,要求把他们的奏章按排好的顺序放到前面,其他的按照编号升序排列即可。现在要求你写一个程序来帮皇上解决这个问题,即已知奏章总数和顺序、钦点重臣的排列顺序,求得皇帝查阅奏章的顺序。
输入描述:
第一行输入两个整数p(1<=p<=5000)和q,其中p表示堆积奏章的总数、q表示皇帝钦点重臣数
第二行输入p个数,表示所有按呈递顺序递上来的奏章来自于哪个大臣(大臣编号)
第三行输入q个数,表示皇帝钦点并排好序的重臣编号
输出描述:
输出奏章按指定顺序排好序后,皇帝按大臣编号批阅的顺序
输入样例:
5 3
5 4 3 2 1
3 5 4
输出样例:
3 5 4 1 2
答案:
line1 = list(map(int,input("ddd").split())) p = line1[0] q = line1[1] article_author = list(map(int,input("ddd").split())) persons = list(map(int,input("ddd").split())) result =[] article_author.sort() for p1 in persons: for a1 in range(0,len(article_author)): if article_author[a1] == p1: result.append(p1) article_author[a1] = 0 for a1 in article_author: if a1!=0: result.append(a1) print_text = list(map(str,result)) print(" ".join(print_text))