POJ 1007

来源:互联网 发布:小米mix2知乎 编辑:程序博客网 时间:2024/04/30 06:53

表示POJ这道题昨天就想了半天没有做出来 ,最后做出来一个还是少看了“Since two strings can be equally sorted, then output them according to the orginal order”这样一句话,我的天。晚上laputa做这样一道题,一会儿就搞定了,这不得不让我觉得自己和他还有相当大的差距,他们现在应该在华科比赛了吧。。祝愿他们发挥超常。。。

     laputa和我说他用结构体做的时候我意识到,我还基本没用过结构体写程序,所以今天果断提前交了体育试卷,到实验室来看看书上结构体的应用,还听好用的。。。废话不多说  上题目。

  


DNA Sorting
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 55369 Accepted: 21673

Description

One measure of ``unsortedness'' in a sequence is the number of pairs of entries that are out of order with respect to each other. For instance, in the letter sequence ``DAABEC'', this measure is 5, since D is greater than four letters to its right and E is greater than one letter to its right. This measure is called the number of inversions in the sequence. The sequence ``AACEDGG'' has only one inversion (E and D)---it is nearly sorted---while the sequence ``ZWQM'' has 6 inversions (it is as unsorted as can be---exactly the reverse of sorted).

You are responsible for cataloguing a sequence of DNA strings (sequences containing only the four letters A, C, G, and T). However, you want to catalog them, not in alphabetical order, but rather in order of ``sortedness'', from ``most sorted'' to ``least sorted''. All the strings are of the same length.

Input

The first line contains two integers: a positive integer n (0 < n <= 50) giving the length of the strings; and a positive integer m (0 < m <= 100) giving the number of strings. These are followed by m lines, each containing a string of length n.

Output

Output the list of input strings, arranged from ``most sorted'' to ``least sorted''. Since two strings can be equally sorted, then output them according to the orginal order.

Sample Input

10 6AACATGAAGGTTTTGGCCAATTTGGCCAAAGATCAGATTTCCCGGGGGGAATCGATGCAT

Sample Output

CCCGGGGGGAAACATGAAGGGATCAGATTTATCGATGCATTTTTGGCCAATTTGGCCAAA

我一开是做的乱七八糟的,用结构体做一会儿就搞定了,我的程序是这个样子的:

 

 

这是我第一次用结构体做出来的一道题,自我鼓励一下,继续加油!!!