diff --git a/src/main/java/com/algos/stepik/FillDiags.java b/src/main/java/com/algos/stepik/FillDiags.java new file mode 100644 index 0000000..c332979 --- /dev/null +++ b/src/main/java/com/algos/stepik/FillDiags.java @@ -0,0 +1,63 @@ +package com.algos.stepik; + +//У вас есть переменная n, которая содержит входные пользовательские данные. +// +// Напишите код, который создает двумерный список и заполняет его по следующему правилу: на главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д. +// +// Результат записать в виде нового списка в переменную result. +// +// Например: +// +// Если n = 4 тогда: +// +// [ +// [ 0, 1, 2, 3 ], +// [ 1, 0, 1, 2 ], +// [ 2, 1, 0, 1 ], +// [ 3, 2, 1, 0 ] +// ] +// +// Если n = 5 тогда: +// +// [ +// [ 0, 1, 2, 3, 4 ], +// [ 1, 0, 1, 2, 3 ], +// [ 2, 1, 0, 1, 2 ], +// [ 3, 2, 1, 0, 1 ], +// [ 4, 3, 2, 1, 0 ] +// ] + +import com.google.gson.Gson; + +import java.util.*; + +public class FillDiags { + + public static void main(String[] args) { + //int n = readInput(); + int n = 5; + List> result = fillDiagonalList(n); + + System.out.println(new Gson().toJson(result)); + } + + public static List> fillDiagonalList(int n) { + + List> result = new ArrayList<>(); + + for (int i = 0; i < n; i++) { + List row = new ArrayList<>(); + for (int j = 0; j < n; j++) { + row.add(Math.abs(i - j)); + } + result.add(row); + } + + return result; + } + + public static int readInput() { + Scanner scanner = new Scanner(System.in); + return Integer.parseInt(scanner.nextLine().trim()); + } +} \ No newline at end of file