【MT第四题】

题目描述:

A成了游戏中的营长。他打算给游戏中的士兵们排一个整齐的队。目标是让这些士兵排成整齐的一列。从左到右士兵们的身高逐渐增加,当两个士兵的身高一样的时候,就按照他们名字的字典序进行排列,因为A觉得这样排起来最美观。

形式化地,给出n个士兵的身高(因为是在游戏中,身高可能很离谱)与名字(仅包含小写英文字母,并且我们保证两个不同士兵的名字不同),要将他们按照身高从小到大排序,如果身高相同则按照名字的字典序排序。

字典序:在英文字典中,排列单词的顺序是先按照第一个字母以升序排列(即a、b、c......z的顺序);如果第一个字母一样,那么比较第二个,第三个乃至后面的字母。如果比到最后两个单词不一样长(比如:sigh和sight),那么把短者排在前。

输入描述:

第一行一个正整数n,表示士兵数;

第二行n个空格隔开的正整数h[1,2,...,n],h[i]表示第i个士兵的高度;

第三行n个空格隔开的字符串s[1,2,...,n],s[i]表示第i个士兵的名字,注意,士兵的名字只包含小写英文字母且没有重复的名字。

n<=50000,h[i]<=300,s[i]仅包含小写英文字母且长度不大于10

输出描述:

输出一行,包含n个字符串s’[1,2,...,n],s'[i]表示经过排序后从左到右站在第i个位置的士兵的名字,不同名字间用单个空格隔开。

你可能感兴趣的:(笔试题目,春招)