WA代码:
package Main;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Map<String, Integer> map = new HashMap<String, Integer>();
if (scanner.hasNext()) {
int n = scanner.nextInt();
int m = scanner.nextInt();
for (int i = 0; i < m; i++) {
String line = scanner.next();
int count = 0;
for (int j = 0; j < n - 1; j++) {
for (int j2 = j + 1; j2 < n; j2++) {
if (line.charAt(j) > line.charAt(j2)) {
count++;
}
}
}
map.put(line, count);
}
}
scanner.close();
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort(list, new comparator());
for (Map.Entry<String, Integer> mapping : list) {
System.out.println(mapping.getKey());
}
}
}
class comparator implements Comparator<Map.Entry<String, Integer>>{
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
}
AC代码:
package Main;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<DNA> list = new ArrayList<DNA>();
if (scanner.hasNext()) {
int n = scanner.nextInt();
int m = scanner.nextInt();
for (int i = 0; i < m; i++) {
String line = scanner.next();
int count = 0;
for (int j = 0; j < n - 1; j++) {
for (int j2 = j + 1; j2 < n; j2++) {
if (line.charAt(j) > line.charAt(j2)) {
count++;
}
}
}
list.add(new DNA(line, count));
}
}
scanner.close();
Collections.sort(list, new comparator());
for (DNA dna : list) {
System.out.println(dna.getText());
}
}
}
class comparator implements Comparator<DNA> {
public int compare(DNA o1, DNA o2) {
return o1.getNum() > o2.getNum() ? 1 : (o1.getNum() == o2.getNum() ? 0 : -1);
}
}
class DNA {
public String text;
public int num;
public DNA(String text, int num) {
this.text = text;
this.num = num;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}