Problem4708--DNA排序

4708: DNA排序

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

现在有一些长度相等的 DNA 串(只由 ACGT 四个字母组成),请将它们按照逆序对的数量多少排序。
逆序对指的是字符串A中的两个字符 A[i]、A[j],具有 i < j 且 A[i] > A[j] 的性质。如字符串 "ATCG" 中,T 和 C 是一个逆序对,T 和 G 是另一个逆序对,这个字符串的逆序对数为 222

Input

111 行:两个整数 nnnmmmn(0<n≤50)n(0<n \le 50)n(0<n50) 表示字符串长度,m(0<m≤100)m(0<m \le 100)m(0<m100) 表示字符串数量;
222m+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

Source/Category

基础算法 4.7.排序