Создание тестов для задачи "Прокладка кабеля"
Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите тесты для следующей задачи:
Необходимо проложить кабель для скоростной передачи данных из лаборатории к компьютерам. Кабель выходит из стены лаборатории, затем идет прямо по коридору, на углу поворачивает по кругу на 90 градусов и затем идет прямо к стене компьютерной комнаты (см. рис). Для уменьшения потерь информации радиус поворота кабеля должен быть как можно больше, насколько позволяет форма коридора. Напишите программу, вычисляющую максимальный радиус поворота при прокладке кабеля.
Ввод содержит в первой строке 6 целых чисел xA, yA, xB, yB, xC, yC (0 ≤ xA ≤ xC ≤ xB ≤ 10000, 0 ≤ yA ≤ yC ≤ yB ≤ 10000), разделенных пробелами – координаты точки A, в которой кабель выходит из стены лаборатории, координаты точки B, в которой кабель входит в стену компьютерной комнаты, и координаты угла коридора С. В точках A и B кабель должен быть перпендикулярен стене.
Вывести одно число с точностью 10-5 – максимальный радиус поворота.
Пример ввода
10 0 90 110 30 100
Тесты задаются в форме:
*INPUT
Ввод для теста 1
*OUTPUT
Вывод для теста 1
*INPUT
Ввод для теста 2
*OUTPUT
Вывод для теста 2
...
Ввод для тестов должен соответствовать условиям задачи. Решение считается принятым, если тесты обнаруживают ошибки во всех программах из некоторого набора. Количество тестов не должно превышать 20. Тесты после 20-го игнорируются. Ошибка PE при проверке означает, что выведенные тесты содержат ошибки, т.е. не соответствуют условиям задачи или ввод выводу.
Подсказка: вычислить максимальный радиус можно по формуле Пифагора: R2 = (R-Δx)2 + (R-Δy)2, где Δx = xC-xA, Δy = yB-yC.
Пример вывода
*INPUT
10 0 90 110 30 100
*OUTPUT
50.00000
Вы можете переслать также программу, которая выводит файл с тестами.