Информатика

15 960 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
Tractor#89878

Одно из полей Фермера Джона весьма холмисто. И он хочет купить новый трактор для работы на этом поле. Поле описывается решеткой из N x N (1 <= N <= 500) неотрицательных целых высот ячеек. Трактор может перемещаться из ячейки в соседнюю (на один шаг на север, юг, запад или восток), с разницей их высот D ровно за D единиц денег.
ФД хочет заплатить достаточно, так чтобы его трактор, начиная с некоторой ячейки поля мог посетить как минимум половину ячеек поля. Если число ячеек в поле - нечетное, то половина, округленная вверх.
Определите минимальную стоимость покупки трактора способного выполнить эту задачу.

PROBLEM NAME: tractor
Формат входных данных
* Строка 1: Значение N.
* Строки 2..1+N: Каждая строка содержит N разделенных одиночными пробелами неотрицательных целых чисел (каждое не более миллиона), определяющих строку поля ФД.
Формат выходных данных
* Line 1: Минимальная стоимость трактора, который способен объехать не менее половины этого поля.
Примечание
Трактор стоимостью 3 способен перемещаться из ячейки с высотой 0 в ячейку с высотой 3. Поэтому он может посетить все ячейки с высотами 0 и 3. Вместе они представляют не менее половины фермы.


Беси согласилась помочь ФД уложить пакеты с сеном. Она начинает с N (1 <= N <= 1,000,000, N нечетное) пустых стеков, пронумерованных от 1 до N. Затем ФД дает ей последовательность из K инструкций (1 <= K <= 25,000), каждая вида A B, означающая, что Беси должна добавить по одному пакету с сеном в каждый из стеков в диапазоне от A до B. Например, инструкция 10 13 означает, что Беси должна положить по пакету сеном в стеки 10, 11, 12, 13.
После того как вся работа закончена, ФД хочет узнать медианную высоту всех N своих стеков - то есть высоту среднего стека, если все стеки упорядочить по высоте. По условию N нечетно, поэтому этот стек уникален. Пожалуйста, помогите Беси ответить на этот вопрос.
PROBLEM NAME: stacking
Формат входных данных
* Строка 1: Два разделенных пробелом целых числа, N K.
* Строки 2..1+K: Каждая строка содержит одну инструкцию ФД в виде двух целых (разделенных пробелом) чисел A B (1 <= A <= B <= N).

Формат выходных данных
* Строка 1: Медианная высота после того как Беси выполнит все инструкции


Примечание
После того, как Беси закончит, стеки будут иметь высоты 0,1,2,3,3,1,0. Если их упорядочить, получим: 0,0,1,1,2,3,3. Средний элемент равен 1.

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную чётную цифру;
– символ «*» означает любую последовательность цифр произвольной
длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Найдите первые пять натуральных чисел, соответствующих маске 6?28?55*1 и делящихся на 2027 без остатка. В ответе запишите найденные числа в порядке возрастания, справа от каждого числа запишите частное от его деления на 2027
 
 Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную чётную цифру;
– символ «*» означает любую последовательность цифр произвольной
длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 5?43?73*4, делящиеся на 2026 без остатка. В ответе запишите все найденные числа в порядке возрастания, справа от каждого числа запишите частное от его деления на 2026.
 
Пусть S – сумма всех различных простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение S равным нулю. Напишите программу, которая перебирает целые числа, меньшие 5 123 000, в порядке убывания, и ищет среди них такие, для которых значение S больше 1 000 000 и оканчивается на 319. В ответе запишите первые пять найденных чисел в порядке возрастания, справа от каждого числа запишите соответствующее ему значение S.
Пусть S – сумма всех простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение S равным нулю. Напишите программу, которая перебирает целые числа, меньшие 3 840 000, в порядке убывания, и ищет среди них такие, для которых значение S больше 1 000 000 и кратно 7. В ответе запишите первые пять найденных чисел в порядке убывания, справа от каждого числа запишите соответствующее ему значение S.
(А. Сражаев) Напишите программу, которая перебирает целые нечетные числа, бóльшие 5 000 000, в порядке возрастания и ищет среди них такие, которые можно представить в виде произведения двух различных нечётных простых множителей, разность которых является простым числом. В ответе запишите в первой строке таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – для каждого из них соответствующий наибольший из найденных множителей.
 (ЕГКР-2025) Напишите программу, которая перебирает целые числа, большие 1 350 050, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на 11 и не равный ни самому числу, ни числу 11. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце -для каждого числа соответствующий минимальный делитель, оканчивающийся на 11, не равный ни самому числу, ни числу 11.
(Демо-2026) Назовём маской числа последовательность цифр, в которой также могут
встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 3?12?14*5, делящиеся на 1917 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1917.
 (Демо-2026) Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M признаётся равным нулю. Напишите программу, которая перебирает целые числа, бо́льшие 800 000, в порядке возрастания и ищет среди них такие, для которых M оканчивается на 4. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – соответствующие им значения M.
*(А. Сражаев) Назовём особым числом такое простое натуральное число, которое на 150 больше ближайшего меньшего простого числа. Напишите программу, которая находит все особые числа на отрезке [10 000 000; 30 000 000]. В ответе запишите все найденные особые числа, справа от каждого из них запишите сумму всех делителей числа, полученного из найденного особого числа после удаления первой и последней цифр.
*(В. Лашин) Напишите программу, которая перебирает целые числа, большие 13 475 124, в порядке возрастания и ищет среди них числа, представленные в виде произведения 5 простых множителей, не обязательно различных, каждый из которых содержит в своей записи хотя бы одну цифру 5. В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце – соответствующий наибольший из найденных множителей для каждого из них.
 *(В. Лашин) Напишите программу, которая перебирает целые числа, большие 24 517 512, в порядке возрастания и ищет среди них числа, представленные в виде произведения 12 простых множителей, не обязательно различных. В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце – соответствующий наибольший из найденных множителей для каждого из них.
 *(А. Сражаев) Напишите программу, которая перебирает целые числа, бóльшие 6 700 000, в порядке возрастания и ищет среди них такие, у которых есть ровно пять натуральных делителей, оканчивающихся на 29, либо на 51, либо на 78, и не равных ни самому числу, ни числу 29, ни числу 51, ни числу 78. В ответе запишите в первой строке таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – наибольший делитель для каждого из них.
 *(А. Сражаев) Напишите программу, которая перебирает целые числа, большие 800 000, в порядке возрастания и ищет среди них последовательность чисел в которой у каждого числа последовательности одинаковое число делителей. В ответе  запишите в порядке возрастания первые 5 подходящих чисел, образующие такую последовательность, (каждое число в отдельной строке), а через пробел от каждого числа – соответствующий максимальный нетривиальный делитель (не совпадающий с самим числом) для каждого из чисел.
(А. Сражаев) Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них числа, которые являются степенью простого числа с натуральным показателем степени, большим 1. В ответе запишите пять строк, в каждой строке  найденное число в порядке возрастания, а через пробел от каждого числа – соответствующие им простые числа (основания степеней).
*(К. Багдасарян) Напишите программу, которая перебирает целые числа, большие 5 200 000, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно 9 простых множителей, не обязательно различных. При этом общее количество делителей числа должно быть кратно 90. В ответе запишите пять строк: первые 5 найденных чисел в порядке возрастания, а через пробел – для каждого из чисел соответствующий им наибольший простой делитель.
*(К. Багдасарян) Напишите программу, которая перебирает целые числа, большие 4 000 000, в порядке возрастания и ищет среди них числа, представленные в виде произведения простых множителей, каждый из которых повторяется по 3 раза. В ответе запишите пять строк, в каждой строке сначала найденное число, далее через пробел – его наибольший сомножитель.
Выводить строки в порядке возрастания числа.
Найдите все числа из [1 000 000; 5 000 000],  имеющие ровно 7 делителей. Запишите числа по возрастанию, через пробел от числа— наибольший делитель, не равный самому числу. Каждую пару чисел записывайте с новой строки.

(П. Тюрин) Два игрока, Паша и Валера, играют в следующую игру. Перед игроками лежит куча, содержащая белые и чёрные камни. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может

а) убрать из кучи белый камень
б) убрать из кучи два белых камня
в) убрать из кучи чёрный камень
г) убрать из кучи два чёрных камня

Игра заканчивается, когда в куче остаётся суммарно менее двух камней. Победителем считается тот, кто сделал последний ход, после которого в куче осталось менее двух камней. В начальный момент в куче может быть от одного до восьми камней каждого цвета.

Пример*. В начальной куче было три белых камня и два чёрных камня. Такую комбинацию камней назовём позицией и будем обозначать (3,2). Т.к. первый ход делает Паша, то он может получить следующие позиции: (2,2), (1,2), (3,1), (3,0).

Задание 19. Известно, что Валера выиграл своим первым ходом после неудачного первого хода Паши. Укажите максимальное суммарное количество чёрных и белых камней в куче, при котором такая ситуация возможна.
Задание 20. Найдите наименьшее и наибольшее значение количества камней в куче, при которых выполняются два условия:
– у Паши есть выигрышная стратегия, позволяющая ему выиграть не более, чем за три хода при любой игре Валеры;
– у Паши нет выигрышной стратегии, позволяющей ему выиграть не более, чем за два хода. Найденные значения запишите в ответе в порядке возрастания.
Задание 21 Укажите количество начальных комбинаций камней в куче, при которых Валера имеет выигрышную стратегию.

Поделиться
Класснуть