4708: DNA排序
[Creator : ]
Description
现在有一些长度相等的 DNA 串(只由 ACGT 四个字母组成),请将它们按照逆序对的数量多少排序。
逆序对指的是字符串A中的两个字符 A[i]、A[j],具有 i < j 且 A[i] > A[j] 的性质。如字符串 "ATCG" 中,T 和 C 是一个逆序对,T 和 G 是另一个逆序对,这个字符串的逆序对数为 222。
逆序对指的是字符串A中的两个字符 A[i]、A[j],具有 i < j 且 A[i] > A[j] 的性质。如字符串 "ATCG" 中,T 和 C 是一个逆序对,T 和 G 是另一个逆序对,这个字符串的逆序对数为 222。
Input
第 111 行:两个整数 nnn 和 mmm,n(0<n≤50)n(0<n \le 50)n(0<n≤50) 表示字符串长度,m(0<m≤100)m(0<m \le 100)m(0<m≤100) 表示字符串数量;
第 222 至 m+1m+1m+1 行:每行是一个长度为 nnn 的字符串。
第 222 至 m+1m+1m+1 行:每行是一个长度为 nnn 的字符串。
Output
按逆序对数从少到多输出字符串,逆序对数一样多的字符串按照输入的顺序输出。
Sample 1 Input
10 6
AACATGAAGG
TTTTGGCCAA
TTTGGCCAAA
GATCAGATTT
CCCGGGGGGA
ATCGATGCAT
Sample 1 Output
CCCGGGGGGA
AACATGAAGG
GATCAGATTT
ATCGATGCAT
TTTTGGCCAA
TTTGGCCAAA