问题 6828 --合唱队形

6828: 合唱队形★★★

时间限制: 2 Sec  内存限制: 512 MB
提交: 284  解决: 88
[提交][状态][命题人:]

题目描述

一年一度的班级合唱比赛又来了,身为班长的小明决定设计一个优美的队形,将基础分拉满。首先男生在左边,女生在右边。然后男生从矮到高,女生从高到矮。如果出现身高相同,则学号小者在左边。现在小明想请优秀的你编程快速确定每个人的位置,他将按学号升序的班级同学名单交给你(包含同学的学号即序号,性别,身高等信息),希望你确定好每个人位置后名单交还给他。由于名单是纸质的,所以你交换给小明的名单也是按学号升序排列。

输入

第一行一个正整数n表示班级学生人数(1n10^6)

接下来n行,每行一个正整数和一个字符(m表示男生,w表示女生),表示同学的身高和性别。行号便是学号。

输出

一行用空格隔开的n个数,表示每个同学在队形中的位置(按学号升序排列)。

样例输入
Copy
6
173 m
177 w
167 w
183 m
167 w
173 m
样例输出
Copy
1 4 5 3 6 2

提示

按题目规则队形为:173 m(1)173 m(6)183 m(4)177 w(2)167 w(3)167 w(5),括号里面是学号;

因此按学号升序得到每个人的位置序列为145362

来源

[提交][状态]