Advertisement
Guest User

Untitled

a guest
Apr 26th, 2021
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.99 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. class Solution {
  4.  
  5.     public static void main(String args[]) {
  6.         Scanner in = new Scanner(System.in);
  7.         int n = in.nextInt();
  8.         int m1 = in.nextInt()*n;
  9.         int m=m1;
  10.         char[] alphabet = "ZYXWVUTSRQPONMLKJIHGFEDCBA".toCharArray();
  11.         String sBefore="0";
  12.         String[] string;
  13.         string=new String[m];
  14.         int count=0;
  15.         int amount=-1;
  16.         int best=1;
  17.         String[] values;
  18.         values=new String[1000];
  19.         String best1="error";
  20.         String s="";
  21.         int v = -10000;
  22.         for (int i = 0; i < n; i++) {
  23.             s = in.next()+s;
  24.         }
  25.         System.err.println(s);
  26.         while(true) {
  27.             m=s.length();
  28.             for (int j=0;j<m-1;j++) {
  29.                 string[j]=String.valueOf(s.charAt(j))+""+String.valueOf(s.charAt(j+1));
  30.             }
  31.             for (int j=0;j<m-1;j++) {
  32.                 for (int k=0;k<m-1;k++) {
  33.                     if (string[j].equals(string[k])==true &&v!=k-1) {
  34.                         amount++;
  35.                         v=k;
  36.                     }
  37.                 }
  38.                 if (amount>best) {
  39.                     best=amount;
  40.                     best1=string[j];
  41.                 }
  42.                 amount=-1;
  43.             }
  44.             String s1=s.replaceAll(best1, String.valueOf(alphabet[count]));
  45.             System.err.println(s);
  46.             values[count]=alphabet[count]+" = "+best1;
  47.             s=s1;
  48.             best1="error";
  49.             best=0;
  50.             count++;
  51.             if (sBefore.equals(s)) {
  52.                 break;
  53.             }
  54.             sBefore=s;
  55.         }
  56.         System.out.println(s);
  57.         m=m1;
  58.         for (int h=0;h<count-1;h++) {
  59.             System.out.println(values[h]);
  60.         }
  61.         count=0;
  62.         m=m1;
  63.         sBefore="0";
  64.         string=new String[m];
  65.         count=0;
  66.         amount=-1;
  67.         best=1;
  68.         values=new String[1000];
  69.         best1="error";
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement