Поворот
Дан массив [latex]n\times m[/latex]. Требуется повернуть его по часовой стрелке на [latex]90[/latex] градусов.
Входные данные
В первой строке даны натуральные числа [latex]n[/latex] и [latex]m[/latex] [latex](1 ≤ n, m ≤ 50)[/latex]. На следующих [latex]n[/latex] строках записано по [latex]m[/latex] неотрицательных чисел, не превышающих [latex]109[/latex] — сам массив.
Выходные данные
Выведите перевернутый массив в формате входных данных.
Тесты
# | ВХОДНЫЕ ДАННЫЕ | ВЫХОДНЫЕ ДАННЫЕ |
---|---|---|
1 | 2 2
1 2 3 4 |
2 2
3 1 4 2 |
2 | 3 3
1 2 3 4 5 6 7 8 9 |
3 3
4 7 1 8 5 2 9 6 3 |
3 | 3 4
4 5 7 8 3 6 8 7 2 2 4 5 |
4 3
2 3 4 2 6 5 4 8 7 5 7 8 |
4 | 1 2
5 4 |
2 1
5 4 |
5 | 1 1
2 |
1 1
2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.*; import java.lang.*; class Main { public static void main (String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int m = input.nextInt(); int x[][] = new int[n][]; for (int i = 0; i < n; i++) x[i] = new int[m]; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) x[i][j] = input.nextInt(); System.out.println(m + " " + n); for (int j = 0; j < m; j++){ for (int i = n - 1; i >= 0; i--) System.out.print(x[i][j] + " "); System.out.println(); } } } |
Решение задачи:
Алгоритм решения данной задачи состоит в том, чтоб при выводе матрицы, начать выводить ее элементы не по строкам, а по столбцам, снизу вверх, начиная с первого столбца (левого нижнего угла матрицы).