Вопрос задан 26.06.2026 в 06:29. Предмет Информатика. Спрашивает Матвеев Илья.

Марш и Коп — всемирно известная пара враждующих археологов. В стремлении обогнать друг друга они собрали внушительные коллекции костей динозавров, представляющих собой отрезки целочисленной длины. И у Марша, и у Копа имеется ровно две кости длины 1, ровно две кости длины 2 и так до бесконечности (то есть, у каждого есть ровно две кости любой натуральной длины). Однажды археологи решили примириться и в честь этого отдать в Смитсоновский музей прямоугольник периметра P. Для этого и Марш, и Коп хотят пожертвовать на строительство прямоугольника по одной паре одинаковых костей. Каким числом способов они могут это сделать, если ломать кости археологи категорически не согласны? Входные данные Программа получает на вход одно натуральное число P — периметр требуемого прямоугольника (1 ≤ P ≤ 2×10⁹). Выходные данные Программа должна вывести одно целое число — количество способов пожертвовать кости, чтобы из них можно было составить прямоугольник периметра P. Система оценки Решение, правильно работающее для P ≤1000, наберёт не менее 60 баллов. Примеры Ввод Вывод Пояснение 10 4 Марш и Коп могут пожертвовать соответственно кости длины 1 и 4; 2 и 3; 3 и 2; 4 и 1 — всего 4 способа. Заметим, что из них сложатся прямоугольники 1×4, 2×3, 3×2 и 4×1 соответственно. 2 0 Несложно понять, что невозможно составить даже один прямоугольник, удовлетворяющий условиям задачи, поэтому ответ ноль

Перейти к ответам

Ответы на вопрос

Отвечает Василецкая Саша.

Рассмотрим, что именно происходит при выборе костей.

У Марша и Копа у каждого есть по одной паре одинаковых костей выбранной длины. То есть Марш выбирает длину aa и отдаёт две кости длины aa, Коп выбирает длину bb и отдаёт две кости длины bb.

В итоге музей получает набор из четырёх отрезков:

a,a,b,ba, a, b, b

Из этих четырёх кусков нужно сложить прямоугольник. А это возможно только в одном случае: противоположные стороны прямоугольника должны быть равны. Значит, из этих четырёх отрезков должны получиться две пары равных сторон:

x,x,y,yx, x, y, y

Следовательно, набор a,a,b,ba,a,b,b уже подходит по структуре, и просто означает, что стороны прямоугольника будут равны aa и bb.

Периметр прямоугольника:

P=2(a+b)P = 2(a + b)

Отсюда:

a+b=P2a + b = \frac{P}{2}

Обозначим:

S=P2S = \frac{P}{2}

Тогда нужно посчитать, сколькими способами можно выбрать упорядоченную пару (a,b)(a,b), где:

  • a1a \ge 1

  • b1b \ge 1

  • a+b=Sa + b = S

Важный момент про порядок

Марш и Коп — разные люди, поэтому пары (a,b)(a,b) и (b,a)(b,a) считаются разными способами.

Подсчёт

Количество положительных решений уравнения:

a+b=Sa + b = S

равно:

S1S - 1

если S2S \ge 2.

Если S<2S < 2, решений нет.

Итог

  • Если PP нечётное — ответ 0 (нельзя получить целый SS)

  • Если P=2P = 2 — тоже 0

  • Если P4P \ge 4 и чётное — ответ:

P21\frac{P}{2} - 1

Пример

  • P=10P = 10: S=5S = 5, значит пары:

    • (1,4), (2,3), (3,2), (4,1) → всего 4 способа

    • ответ: 51=45 - 1 = 4

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Информатика 14.03.2025 07:08 161 Дегтяренко Диана

Последние заданные вопросы в категории Информатика

Задать вопрос