一年一度的班级合唱比赛又来了,身为班长的小明决定设计一个优美的队形,将基础分拉满。首先男生在左边,女生在右边。然后男生从矮到高,女生从高到矮。如果出现身高相同,则学号小者在左边。现在小明想请优秀的你编程快速确定每个人的位置,他将按学号升序的班级同学名单交给你(包含同学的学号即序号,性别,身高等信息),希望你确定好每个人位置后名单交还给他。由于名单是纸质的,所以你交换给小明的名单也是按学号升序排列。
一年一度的班级合唱比赛又来了,身为班长的小明决定设计一个优美的队形,将基础分拉满。首先男生在左边,女生在右边。然后男生从矮到高,女生从高到矮。如果出现身高相同,则学号小者在左边。现在小明想请优秀的你编程快速确定每个人的位置,他将按学号升序的班级同学名单交给你(包含同学的学号即序号,性别,身高等信息),希望你确定好每个人位置后名单交还给他。由于名单是纸质的,所以你交换给小明的名单也是按学号升序排列。
第一行一个正整数n表示班级学生人数(1≤n≤10^6)。
接下来n行,每行一个正整数和一个字符(m表示男生,w表示女生),表示同学的身高和性别。行号便是学号。
一行用空格隔开的n个数,表示每个同学在队形中的位置(按学号升序排列)。
6 173 m 177 w 167 w 183 m 167 w 173 m
1 4 5 3 6 2
按题目规则队形为:173 m(1)、173 m(6)、183 m(4)、177 w(2)、167 w(3)、167 w(5),括号里面是学号;
因此按学号升序得到每个人的位置序列为1、4、5、3、6、2。