Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Олимпиада по информатике язык каким владеете

Максим Кириллов Ученик (82), открыт 3 недели назад
У Васи есть 128 кубиков с длиной стороны 1. Он хочет склеить из картона одну или несколько коробок, чтобы в них поместились все кубики. Каждая коробка имеет форму прямоугольного параллелепипеда с пятью сторонами из картона (на верхнюю сторону картона не нужно, так как крышки для коробок Вася не делает).

Для производства коробок Вася хочет использовать как можно меньше картона, поэтому сумма площадей наружных сторон всех коробок должна быть как можно меньше. Определите количество и размеры коробок, которые должен склеить Вася. Если есть несколько верных ответов, то напишите любой из них.

Для отправки решения нажмите ссылку "Отослать" (над условием задачи). В поле ответа напишите в отдельной строке для каждой коробки три целых числа через пробел — её длину, ширину и высоту. Не пишите ничего лишнего. При отправке решения на проверку выберите язык PHP (вам не нужно знать этот язык, это просто особенность системы).

Система оценки
Максимальные 100 баллов получит решение с минимальной суммарной площадью. Чем сильнее отличается площадь в вашем решении от минимальной, тем меньше баллов вы получите. Помните, что все кубики должны поместиться в коробки, иначе решение получит ноль баллов!

Примечание
Например, если бы у Васи было 25 кубиков, то возможный правильный ответ был бы такой:

1 1 1
4 3 2
Здесь суммарная площадь наружных поверхностей коробок равна 45. Заметим, что площади верхних сторон не учитываются, так как у коробок нет крышек.
1 ответ
Рустам Абдрашитов Мыслитель (9542) 3 недели назад
на код сгенерирован ИИ
 def calculate_surface_area(length, width, height): 
return 2 * (length * width + length * height + width * height)

# Объем кубиков
total_cubes = 128

# Получение размеров коробки от пользователя
length = float(input("Введите длину коробки (в см): "))
width = float(input("Введите ширину коробки (в см): "))
height = float(input("Введите высоту коробки (в см): "))

# Проверка объема
volume = length * width * height

if volume >= total_cubes:
surface_area = calculate_surface_area(length, width, height)
print(f"Размеры коробки: {length} см, {width} см, {height} см")
print(f"Площадь поверхности: {surface_area} см^2")
else:
print("Размеры коробки недостаточны для упаковки всех кубиков.")
Максим КирилловУченик (82) 3 недели назад
какой язык
Максим Кириллов, "каким владеет" . Секрет
Похожие вопросы