Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public void task18() {
- Scanner scanner = new Scanner(System.in);
- final int n = scanner.nextInt();
- int[][] a = readMatrix(scanner, n);
- int max = Integer.MIN_VALUE;
- for (int i = 0; i < n; i++)
- max = Math.max(max, Arrays.stream(a[i]).max().getAsInt());
- Set<Integer> rowSet = new HashSet<>();
- Set<Integer> columnSet = new HashSet<>();
- IntStream.range(0, n).forEach(rowSet::add);
- IntStream.range(0, n).forEach(columnSet::add);
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- if (a[i][j] == max) {
- rowSet.remove(i);
- columnSet.remove(j);
- }
- }
- }
- System.out.printf("%d%n", rowSet.size());
- System.out.printf("%d%n", columnSet.size());
- for (Integer row : rowSet) {
- for (Integer column : columnSet) {
- System.out.printf("%d\t", a[row][column]);
- }
- System.out.printf("%n");
- }
- }
- private int[][] readMatrix(Scanner scanner, int n) {
- int[][] matrix = new int[n][n];
- for (int row = 0; row < n; ++row) {
- for (int col = 0; col < n; ++col) {
- matrix[row][col] = scanner.nextInt();
- }
- }
- return matrix;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement