SHARE
TWEET

Untitled

a guest Jan 23rd, 2020 78 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package exercise;
  2.  
  3. import java.util.*;
  4.  
  5. public class tema2task11 {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         Map<Integer, List<Integer>> map = new LinkedHashMap<>();
  9.         String[] data = scanner.nextLine().split("\\s+");
  10.  
  11.         int[][] matrix = new int[Integer.parseInt(data[0])][Integer.parseInt(data[1])];
  12.         //TODO fulfill the matrix
  13.         for (int i = 0; i <matrix.length ; i++) {
  14.             int[] current = Arrays.stream(scanner.nextLine().split("\\s+"))
  15.                     .mapToInt(Integer::parseInt).toArray();
  16.             matrix[i]=current;
  17.         }
  18.  
  19.         int wait =0 ;
  20.  
  21.         //TODO printing
  22.         int group=0;
  23.         int counter=0;
  24.         for (int i = matrix.length-1; i >=0 ; i--) {
  25.             int[] current = matrix[i];
  26.  
  27.             for (int j = current.length-1; j >=group ; j--) {
  28.                 int value = matrix[i][j];
  29.  
  30.                 if(wait==0){
  31.                     List<Integer> list = new ArrayList<>();
  32.                     list.add(value);
  33.                     map.put(counter,list);
  34.                     counter++;
  35.                 }else{
  36.                     List<Integer> list = map.get(counter);
  37.                     list.add(value);
  38.                     map.put(counter,list);
  39.                     counter++;
  40.                 }
  41.  
  42.             }
  43.  
  44.             for (int j = matrix.length-1-1-group; j >=0 ; j--) {
  45.                 int[] curr = matrix[j];
  46.  
  47.                 if (group >= curr.length) {
  48.  
  49.                     continue;
  50.  
  51.                 }
  52.  
  53.                 int value = curr[group];
  54.  
  55.                 if(wait==0){
  56.                     List<Integer> list = new ArrayList<>();
  57.                     list.add(value);
  58.                     map.put(counter,list);
  59.                     counter++;
  60.                 }else{
  61.                     List<Integer> list = map.get(counter);
  62.                     list.add(value);
  63.                     map.put(counter,list);
  64.                     counter++;
  65.                 }
  66.  
  67.  
  68.             }
  69.             group++;
  70.             counter=group;
  71.             wait++;
  72.         }
  73.  
  74.         map.entrySet().stream().forEach(entry->{
  75.             List<Integer> list = map.get(entry.getKey());
  76.  
  77.             for (int n  :list) {
  78.                 System.out.print(n+" ");
  79.             }
  80.             System.out.println();
  81.  
  82.         });
  83.  
  84.  
  85.     }
  86. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top