Конкурсы и Олимпиады по Машинному программированию (КОМП) Разбор задачи 1
Первые участники преодолели уровень 5. Скоро будем завершать конкурс методом "засушивания". Это значит, что каждый день будет закрываться по одному уровню. Поскольку скоро лето и погода теплеет, то закрытие уровня называется "засушивание". :-)
Рура Виталий Александрович,Кретов Алексей Константинович,Муратов Дамир Фаритович,Ахунзянов Расим Ралифович,Иванов Григорий Владимирович,Новикова Алина Дмитриевна,Долотказин Юрий Владимирович,Драный Валентин Валерьевич,
Разбор задачи уровня 2
В этой задаче положение домов зависит от расстояния до озера. Оно может меняться от 0 (когда дома стоят на углах) и до 2000 (на прямой между домами озера нет). От положения домов зависит, с какой строны обходить озеро ближе. Есть два варианта.
Вариант первый. Обходить со стороны угла.
Вариант второй. Обходить со стороны основания.
Думаю из программы и комментариев будет всё ясно.
program task1; var h, a, x, y, P1, P2 : real; begin readln(h); {Расстояние до озера} a:=4000; {Сторона озера} y:=h*sqrt(3); {Расстояние до основания} x:=sqrt(sqr(a/2)+3*sqr(a/2-h)); {Расстояние до угла} P1:=a+2*y; {Длина пути через основание} P2:=2*x; {Длина пути через угол} if P1 < P2 then Writeln(P1/1000:2:2) else Writeln(P2/1000:2:2) end.