U171868 汉字排序
题目背景
千空在翻字典的时候,突然发现,字典的汉字都按照一定的规律排序,于是暑假没事干的千空,决定用程序来模拟心华字典里面汉字的排序结构,但是千空陷入了困境,决定把编写权交给你。
题目描述
汉字在我们常用的词典里面是这样排序的:
1.按音节的纯字母形式的字母字典序排序。纯字母是说忽略掉声调,将 ü 视为 u,将 ê 视为 e,例如 lüē 的纯字母形式是 lue。
2.对于 1 相同的,字母不是变体形式的排在前面,是变体形式的排在后面。(变体解释见下方)
3.对于 1 和 2 都相同的,按照声调阴平、阳平、上声、去声和轻声的顺序排列。
4.对于 1、2 和 3 都相同的,按照字的笔画多少排列,笔画少的在前面,笔画多的在后面。
5.对于 1、2、3 和 4 都相同的,按照笔顺的笔画类型对应编号的字典序排序。笔画类型对应的编号为 1横,2竖,3撇,4捺,5折。
**现在给出每个汉字的若干属性,请你对给出的汉字排序。属性包括:音节的纯字母形式、字母是否变体、声调、笔顺。**
------------
_你不用理会这段话。韵母 ü 被看做韵母 u 的变体,是很多语言采用的做法。在实际的词典中排序和 u 视为相同的字母,只有在拼写形式完全一样时有 ü 的音节排在后面。例如 lu 排在 lü 的前面,但 lü 排在 luan 的前面。同理,ê 也视为 e 的变体,并且和 ü 在很多情况下省略变体形式类似,在 lie 中也将 ê 的变体形式省略。_
输入格式
从标准输入读入数据。
输入共有$n+1$行$(n\leqslant2000)$。前$n$行每行描述一个汉字:\
先为一个长度不超过 $6$ 的全部由小写字母构成的字符串,表示音节的纯字母形式;\
接下来一个取值只包含 $0$ 或 $1$ 的整数,表示字母是否有变体形式,$0$ 表示不变体,表示变体;\
然后一个整数,表示声调,$1 ,2, 3, 4, 0$ 分别表示阴平、阳平、上声、去声和轻声,不会有其他取值;
最后一个长度不超过 $30$ 的字符串,表示用笔画类型编号排列的笔顺,笔画类型编号为 $1$ 横,$2$ 竖,$3$ 撇,$4$ 捺,$5$ 折,不会有其他字符;\
相邻两个属性之间用一个空格隔开,没有多余的字符。\
最后一行有一个单独的字符 '~' 作为结束符。
输出格式
输出到标准输出。
输出排序后的所有汉字,每行一个。每行的输出格式和输入格式相同。
说明/提示
本题时间限制为5000ms
内存 512 MiB\
n$\leqslant$2000