Олимпиадные задачи по программированию. Лучшие решения. Часть 1. Ускова О.Ф - 23 стр.

UptoLike

Имеется прямоугольный лист бумаги , длина которого равна N
сантиметров, а ширина M сантиметров. С листом можно
производить следующие операции: сгибать лист вдвое , cовмещая
противоположные стороны листа ; сгибать лист совмещая одну
строну с параллельной ей линией сгиба ; разгибать лист, при этом
оставляя на нем линию сгиба. Написать программу, которая
определяет: можно ли его свернуть так, чтобы получился
прямоугольник длиной P сантиметров и шириной Q сантиметров.
В случае утвердительного ответа программа должна выдавать
минимальное количество операций с листом , необходимых для
этого .
Технические требования :
Входной файл: INPUТ.ТХТ
Выходной файл: О UTPUТ.ТХТ
Ограничение времени : 5 секунд
Формат входных данных:
В первой строке входного файла содержаться вещественные
числа N,M,P и Q в виде десятичных дробей.
Формат выходных данных:
Если лист свернуть можно, то первая строка текста должна
содержать строка должна содержать YES и минимальное число
операций, необходимых для этого . В противном случае , первая
строка текста должна содержать слово NO.
Пример файлов входных и выходных данных:
INPUT.TXT OUTPUT.TXT