У моего садовника есть «простой» ежедневный запрос:
Обеспечьте минимальное количество рулонов и, возможно, минимальные потери, чтобы покрыть заданный угол поворота
Общая проблема укладка плитки является NP-полной, но, к счастью, это гораздо более простая проблема.
«Плитки» - это рулоны синтетической c травы трех размеров: 2X25, 3X25, 4X25 метров. 1010 * Определение потерь: всякий раз, когда разрез приходится на «ширину» рулона, а не на длину.
Пример: разрезание рулона через 13 метров, потери равны 0 (нулю). Если разрезать рулон 2X25 пополам, потери составляют 12,5 кв.м.
Учитывая прямоугольник ввода, вы должны округлить его размеры в большую сторону (Math.ceil) перед мозаикой и вычислить потери в конце.
Допущения:
- Цена за метр одинакова для всех рулонов.
- Введите размеры в метрах, действительные числа (не обязательно целые)
Ожидаемый результат:
Список используемых рулонов (плиток), их длина (<= 25 метров) и сумма потерь, если> 0.
Я поискал, нашел много связанный вопрос, но НЕТ для этого реального мира, ежедневный вопрос.