Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- File plik = new File("in.txt");
- Scanner input = new Scanner(plik);
- String s1 = input.nextLine();
- String s2 = input.nextLine();
- input.close();
- String ss1[] = s1.split(" ");
- String ss2[] = s2.split(" ");
- for (int i = 0; i < ss1.length; i++) {
- System.out.print(ss1[i] + " ");
- }
- System.out.println();
- for (int i = 0; i < ss2.length; i++) {
- System.out.print(ss2[i] + " ");
- }
- System.out.println();
- int tmp = 0;
- int lc = 0;
- PrintWriter out = new PrintWriter("out.txt");
- int n = ss1.length;
- int m = ss2.length;
- int[][] C = new int[n + 1][m + 1];
- for (int i = 0; i < n; i++) { lc++;
- for (int j = 0; j < m; j++) { lc++;
- if (ss1[i].equals(ss2[j])) {
- C[i + 1][j + 1] = C[i][j] + 1;
- } else {
- C[i + 1][j + 1] = Math.max(C[i + 1][j], C[i][j + 1]);
- }
- }
- }
- for (int i = 0; i < n + 1; i++) {
- for (int j = 0; j < m + 1; j++) {
- System.out.print(C[i][j] + " ");
- }
- System.out.println();
- }
- int xx=ss1.length-1;
- int yy=ss2.length-1;
- String wyn="";
- System.out.println(xx + " " + yy);
- // System.out.println(m+1 + " " + n+1);
- if(ss1[xx].equals(ss2[yy])) wyn+=ss2[yy];
- while(xx!=0 && yy!=0)
- {
- if(xx-1>=0 && C[xx-1][yy]==C[xx][yy]) { xx=xx-1; continue; }
- if(yy-1>=0 && C[xx][yy-1]==C[xx][yy]) { yy=yy-1; continue; }
- xx--; yy--; wyn+=ss2[yy];
- }
- System.out.println(wyn);
- for(int i=wyn.length()-1; i>=0; i--) System.out.println(wyn.charAt(i));
- for(int i=wyn.length()-1; i>=0; i--) out.print(wyn.charAt(i)+ " ");
- out.println();
- out.print(lc);
- out.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement