View Code of Problem 126


import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String[] number = scanner.nextLine().split(" ");
            int n = Integer.parseInt(number[0]);
            int m = Integer.parseInt(number[1]);
            String[] s = new String[m];
            for (int i = 0; i < m; i++) {
                s[i] = scanner.nextLine();
            }
            Word[] words=new Word[m];
            for (int i=0;i<m;i++){
                char[] chars1=s[i].toCharArray();
                int sum=0;
                for(int j=0;j<chars1.length;j++){
                    for(int k=j+1;k<chars1.length;k++){
                        if(chars1[j]>chars1[k]){
                            sum++;
                        }
                    }
                }
                Main.Word word=new Main().new Word();
                word.name=s[i];
                word.i=sum;
                words[i]=word;
            }
            Arrays.sort(words);
            for(Word word:words){
                System.out.println(word.name);
            }
        }
    }

    class Word implements Comparable{
        String name;
        int i;

        @Override
        public int compareTo(Object o) {
            Word word= (Word) o;
            return this.i-word.i;
        }
    }
}

Double click to view unformatted code.


Back to problem 126