Advertisement
arch239

Untitled

Aug 16th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.38 KB | None | 0 0
  1. @Override
  2.     public void task18() {
  3.         Scanner scanner = new Scanner(System.in);
  4.         final int n = scanner.nextInt();
  5.         int[][] a = readMatrix(scanner, n);
  6.  
  7.         int max = Integer.MIN_VALUE;
  8.         for (int i = 0; i < n; i++)
  9.             max = Math.max(max, Arrays.stream(a[i]).max().getAsInt());
  10.  
  11.         Set<Integer> rowSet = new HashSet<>();
  12.         Set<Integer> columnSet = new HashSet<>();
  13.         IntStream.range(0, n).forEach(rowSet::add);
  14.         IntStream.range(0, n).forEach(columnSet::add);
  15.  
  16.         for (int i = 0; i < n; i++) {
  17.             for (int j = 0; j < n; j++) {
  18.                 if (a[i][j] == max) {
  19.                     rowSet.remove(i);
  20.                     columnSet.remove(j);
  21.                 }
  22.             }
  23.         }
  24.  
  25.         System.out.printf("%d%n", rowSet.size());
  26.         System.out.printf("%d%n", columnSet.size());
  27.  
  28.         for (Integer row : rowSet) {
  29.             for (Integer column : columnSet) {
  30.                 System.out.printf("%d\t", a[row][column]);
  31.             }
  32.             System.out.printf("%n");
  33.         }
  34.     }
  35.  
  36.     private int[][] readMatrix(Scanner scanner, int n) {
  37.  
  38.         int[][] matrix = new int[n][n];
  39.         for (int row = 0; row < n; ++row) {
  40.             for (int col = 0; col < n; ++col) {
  41.                 matrix[row][col] = scanner.nextInt();
  42.             }
  43.         }
  44.         return matrix;
  45.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement