Задача
С помощью – действительной матрицы на плоскости задано n точек так, что – координаты – точки. Точки попарно соединены отрезками. Найти длину наибольшего отрезка.
Тест
n | Матрица | Длина наибольшего отрезка | Комментарий |
3 | 2 8 4
9 1 5 |
10 | Пройдено |
4 | 6 14 2 1
9 3 8 0 |
13.3417 | Пройдено |
5 | 1 8 4 3 7
2 9 5 0 11 |
11.7047 | Пройдено |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.*; import java.lang.*; import java.io.*; class A406 { public static void main(String[] args) { int[][] matrix; double maxDistance = 0; double distance; Scanner scanner = new Scanner(System.in); int m = scanner.nextInt(); matrix = new int[2][m]; for (int i = 0; i < 2; i++) for (int j = 0; j < m; j++) matrix[i][j] = scanner.nextInt(); for (int i = 0; i < m; i++) { for (int j = i + 1; j < m; j++) { distance = Math.sqrt((matrix[0][j] - matrix[0][i]) * (matrix[0][j] - matrix[0][i]) + (matrix[1][j] - matrix[1][i]) * (matrix[1][j] - matrix[1][i])); if (distance > maxDistance) { maxDistance = distance; } } } System.out.println(maxDistance); } } |
Ход решения:
- Вводим матрицу.
- Находим длину наибольшего отрезка.
С помощью вложенных циклов мы находим длины всех отрезков по формуле
- По алгоритму нахождения максимума находим длину наибольшего отрезка.
- Выводим матрицу.
- Выводим длину наибольшего отрезка.
Ссылка на код