Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Чат
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Заяц и дерево

(Время: 1 сек. Память: 16 Мб Сложность: 29%)

После строительства на выбранной поляне частокола для обороны от хищников Заяц обнаружил, что внутри ограды оказалось огромное засохшее дерево, которое может помешать строительству домика. Зайцу хочется спилить это дерево “под самый корешок” таким образом, чтобы дерево при падении не повредило ограду.

Заяц обрубил все ветки, и от дерева остался цилиндр высотой h и радиусом r. Ограда имеет форму окружности с радиусом R и по высоте больше диаметра дерева. Центр дерева находится на расстоянии b от центра ограды. Заяц может повалить дерево в любую нужную ему сторону. После падения нижний край поваленного дерева касается (как касательная) окружности основания дерева, как показано на рисунке.

Требуется написать программу, которая определит, сможет ли заяц повалить спиленное дерево, не повредив ограду.

Входные данные

В единственной строке входного файла INPUT.TXT записано четыре целых числа через один пробел: R, r, h и b (r+b ≤ 100, 1 ≤ r ≤ R≤ 100, 1 ≤ h ≤ 1000).

Выходные данные

В выходной файл OUTPUT.TXT нужно вывести слово YES, если существует направление падения дерева, при котором ограда останется неповрежденной, и NO в противном случае.

Пример

INPUT.TXTOUTPUT.TXT
190 3 50 10YES

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]

Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483