网络异常,图片无法展示
|
拼题er们觉得戴帽子会令自己看上去很帅,所以他们不管到哪里都会戴着帽子。有一天他们去到一家餐厅,服务员把他们的帽子收集了堆起来保管。当大家要离开的时候,发现帽子被像上图那样摞起来了。于是你的任务就是帮他们排好队,使得每个人都能按顺序顺利取到自己的帽子。
已知每顶帽子的大小都不相同,并且帽子的尺寸跟帽子主人的体重有关 —— 越重的人戴的帽子就越大。
输入格式: 输入第一行给出一个正整数 N (≤10 4 ),为拼题er的人数。随后一行给出 N 个不同的帽子尺寸,为不超过 10 5 的正整数,顺序是从帽子堆的底部向上给出。最后一行给出 N 个不同的体重,顺序对应编号从 1 到 N 的拼题er。体重是不超过 10 6 的正整数。一行中的数字以空格分隔。
输出格式: 在一行中按照取帽子的顺序输出帽子主人的编号。数字间以 1 个空格分隔,行首尾不得有多余空格。
输入样例: 10 12 19 13 11 15 18 17 14 16 20 67 90 180 98 87 105 76 88 150 124 输出样例: 3 4 8 6 10 2 1 5 9 7
样例说明: 第一顶帽子的尺寸是最大的 20,所以对应第 3 个人的最大体重 180,于是第 3 个人排在最前面。
第二顶帽子的尺寸是第 6 小的 16,对应第 6 小的体重 98,是第 4 个人,于是第 4 个人下一个走。
以此类推。
解题思路
N = int(input()) maoList = list(map(int,input().split())) renList = list(map(int,input().split())) # N = int("10") # maoList = list(map(int,"12 19 13 11 15 18 17 14 16 20".split())) # renList = list(map(int,"67 90 180 98 87 105 76 88 150 124".split())) sourtMaoList = sorted(maoList,reverse=True) sourtRenList = sorted(renList,reverse=True) resDict = dict() renListDict = dict() for index,val in enumerate(renList): renListDict[val] = index for i in range(N): mao = sourtMaoList[i] ren = sourtRenList[i] # index = renList.index(ren) index = renListDict[ren] resDict[mao] = str(index+1) # print(resDict) res = [] for i in maoList: res.append(resDict[i]) print(" ".join(res[::-1]))