Блог учителя Информатики

Комментарии отключены

Решение олимпиадных задач по информатике: Раскрашенный куб

Сегодня решаем олимпиадную задачу по информатике школьного этапа 2022 года. Задача: "Раскрашенный куб". 9 - 11 класс.


Условие задачи:

Поверхность куба со стороной n см. покрасили снаружи в синий цвет (со всех шести сторон). После этого его распилили на кубики со стороной 1 см. В результате получились части, у которых синим цветом окрашены 0, 1, 2 или 3 стороны. Посчитайте количество кубиков указанного вида.

n, f = int(input()), int(input())

cubes = 0
if f == 0:
    cubes = (n - 2) ** 3
elif f == 1:
    cubes = (n - 2) ** 2 * 6
elif f == 2:
    cubes = (n - 2) * 12
elif f == 3:
    cubes = 8

print(cubes)
if n ** 3 == ((n - 2) ** 3) + ((n - 2) ** 2 * 6) + ((n - 2) * 12) + 8:
    print('YES')
else:
    print('NO')
var
  n, f: integer;
  cubes: real;
  
begin
  read(n);
  read(f);
  cubes := 0;
  if f = 0 then
    cubes := power((n - 2 ), 3)
  else if f = 1 then
    cubes := power((n - 2), 2) * 6
  else if f = 2 then
    cubes := (n - 2) * 12
  else if f = 3 then
    cubes := 8;
  write(cubes);
end.
Поделиться:
Вам также может понравится
Округление чисел в Python
Обмен значений двух переменных
Перевод чисел в Python
Решение олимпиадных задач по информатике: Полевые работы