Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
На шахматной доске стоит пешка в координатах x, y (x — номер вертикали, y — номер горизонтали).
Требуется написать программу, определяющую максимальное количество ладей, которые можно расставить на этой доске, чтобы ни одна из них не била другую.
Входные данные содержат целые числа x и y.
Выходные данные должны содержать единственное целое число — максимальное количество ладей.
1 ≤ x, y ≤ 8
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | A. Karabanov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Коля Герасимов родился 1 января 1970 года. Попав в квартиру странного соседа 11 апреля 1982 года, он обнаруживает в ней машину времени и перемещается ровно на 100 лет в будущее (то есть попадает в 11 апреля 2082 года).
Прожив в будущем ровно a лет, Коля возвращается на той же машине назад в прошлое и живет обычной жизнью, не привлекая к себе особого внимания, собирая ценный для историков будущего архивный материал. Спустя ещё ровно b лет после возвращения, Коля совершает второе и последнее перемещение ровно на 100 лет в будущее. После этого он живет в будущем, не старея (о возможностях медицины времён наших потомков мы можем только мечтать).
Сколько полных лет прожил Коля Герасимов к 1 января n-го года?
Входные данные содержат три натуральных числа: a, b и n.
Выходные данные должны содержать одно натуральное число — возраст Коли в годах на 1 января указанного года. Если в указанный день Коля отсутствовал в текущем времени — выведите число − 1.
2 ≤ a + b ≤ 99
1971 ≤ n ≤ 3000
В обоих примерах Коля прожил в будущем 12 лет, вернулся, и через 27 лет снова отправился в прекрасное далёко. Временная линия жизни Коли приведена на рисунке. К 1 января 2088 года он прожил 18 полных лет. А вот 1 января 1988 года он находился в будущем.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Karabanov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
На уроке технологии в руки Тимофея попал столярный угольник с деревянной ручкой и металлической доской. Поскольку работа по изготовлению табурета была уже закончена, Тимофей стал перекатывать угольник вдоль координатной прямой. Начальное положение угольника и направление движения указаны на рисунке.
Ваша программа должна по координате точки на оси определить, какая часть угольника с ней соприкасалась.
Входные данные содержат три натуральных числа a, b и n — длины деревянной и металлической внутренних сторон угольника и координата точки. Гарантируется, что a и b — катеты Пифагорова треугольника (то есть гипотенуза является целым числом).
Выход должен содержать одно слово:
wood
, если точка соприкоснется с деревянной ручкой,metal
, если точка соприкоснется с металлической доской,empty
, если угольник не коснется точки.3 ≤ a < b ≤ 1000
1 ≤ n ≤ 109
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Вася узнал, что в магазине, расположенном неподалеку, начался сезон скидок.
За один поход в магазин покупатель пытается приобрести как можно больше товаров с общим весом не более Wmax, чтобы иметь возможность унести их с собой. Каждый товар имеется в магазине в единственном экземпляре. По правилам распродажи одному клиенту разрешается совершить не более 3 заходов.
Требуется написать программу, которая рассчитает оптимальную последовательность покупок, позволяющую приобрести как можно больше товаров. При этом общая стоимость покупок не должна превышать имеющуюся у Васи сумму Pmax. При наличии нескольких вариантов с максимальным количеством покупок, следует выбрать тот, в котором потребуется минимальное число заходов.
В начале входных данных указано общее количество товаров n, за которым следует n пар целых чисел: Pi — стоимость i-го товара, Wi — его вес.
Далее во входных данных следует максимальная допустимая стоимость Pmax (в сумме за все заходы) и вес Wmax, который может унести Вася за один заход.
Выходные данные должны содержать оптимальную последовательность покупок, записанную в следующем виде.
Вначале указывается общее число заходов, которое необходимо совершить. Далее для каждого захода указывается число совершенных покупок, за которым следуют номера соответствующих товаров в произвольном порядке. Нумерация товаров начинается с нуля.
Если существует несколько оптимальных решений, выведите любое из них.
0 < n ≤ 100, 0 < Pi ≤ Pmax ≤ 100, 0 < Wi ≤ Wmax ≤ 10
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | М. Спорышев | Ограничение времени: | 4 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Дан массив целых чисел ai. Вы можете выбрать в нем один элемент и заменить в нем одну любую десятичную цифру на любую другую. Стоимость такого изменения равна модулю разницы новой и старой цифры.
Ваша программа должна найти такую замену одной цифры в одном элементе, после которой в десятичном представлении суммы чисел этого массива появится хотя бы одна цифра 9, или понять, что её не существует. Стоимость изменения при этом должна быть минимально возможной.
Лидирующие нулевые цифры менять нельзя.
Входные данные содержат целое число N — размер массива, за которым следует N целых чисел ai.
Выведите три целых числа: номер элемента, номер цифры, которую нужно заменить, и цифру, на которую делать замену.
Элементы и цифры нумеруются начиная с 0. Цифры нумеруются справа налево.
Гарантируется, что в сумме элементов исходного массива не содержится цифры 9.
Если требуемого изменения не существует, вывести − 1. Если решений несколько, вывести любое из них.
1 ≤ N ≤ 100000
|ai| ≤ 109
ai ≠ 0
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Имеется набор из N рациональных дробей, каждая из которых задается своим числителем Ai и знаменателем Bi.
Требуется написать программу, которая выводит:
Входные данные содержит целое число N, за которым следует набор из N пар целых чисел (Ai, Bi).
Выходные данные должны содержать единственное число — ответ задачи.
1 ≤ N ≤ 200, 1 ≤ (Ai, Bi) < 232
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Имеются два простых (не имеющих самопересечений) многоугольника, каждый из которых задан последовательностью своих n вершин в порядке обхода либо по, либо против часовой стрелки.
Ваша программа должна определить, подобны ли многоугольники, то есть можно ли один из них получить из другого путем применения к нему нуля или более следующих операций:
Входные данные содержат натуральное число n, за которым следует 2 ⋅ n вершин (сначала вершины первого, а затем — второго многоугольника), записанных в виде пар целых чисел: (xi, yi).
Выходные данные должны содержать одно целое число: 1, если многоугольники подобны, 0 в противном случае.
Гарантируется, что оба многоугольника являются невырожденными, т.е. имеют площадь строго больше нуля.
При этом все их ребра также имеют ненулевую длину.
− 104 ≤ (xi, yi) ≤ 104, 3 ≤ n ≤ 105
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Васе по наследству от бабушки досталась текстовая строка S. Вася решил поиграть с этой строкой.
На каждом шаге Вася выбирает символ и заменяет каждое вхождение этого символа на пробел. Если же выбранный символ уже заменён на пробел, то Вася, наоборот, заменяет каждый из соответствующих пробелов обратно на исходный символ в той же позиции.
Ваша программа должна после каждого шага определять, сколько слов (подстрок из подряд идущих не-пробелов) получилось в строке.
В первой строке входных данных содержится строка S. Далее следует строка T, задающая последовательность символов, выбираемых Васей.
Строки состоят из цифр, заглавных и строчных букв латинского алфавита.
Выходные данные должны содержать последовательность целых чисел Ni — число слов в строке S после i-го шага.
Регистр символов имеет значение, т.е. заглавные и строчные буквы различны между собой.
1 ≤ |S| ≤ 107, 1 ≤ |T| ≤ 104
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Молодой программист Вася разрабатывает хранилище данных, имеющее программный интерфейс многомерного массива. Доступ к элементам в таком массиве осуществляется по их составным индексам: (i1, i2, …, iN). Размерность массива определяется значениями A1, A2, …, AN (то есть 0 ≤ ik < Ak, k = 1… N).
Диапазоны изменения индексов не убывают (Ak ≤ Ak + 1). Особенностью Васиного массива является индексно-перестановочная симметрия. Это означает, что его элементы, составные индексы которых совпадают с точностью до их перестановки, полагаются тождественными.
Для компактного расположения массива в памяти Вася решил использовать следующую схему. Элементы хранятся последовательно в построчном формате (row-major order) в одномерном массиве, что соответствует лексикографическому возрастанию составных индексов. При этом элементы, для которых некоторая перестановка составного индекса встречалась ранее, пропускаются.
Вашей программе требуется выполнять запросы следующих двух видов.
В начале входных данных находится натуральное N — число измерений массива.
Далее следует последовательность из N целых чисел Aj — размеры массива по каждому измерению. За ними следует число M и M описаний запросов, по одному запросу в строке. Запросы могут быть двух видов:
Выходные данные должны содержать последовательность целых чисел — результаты выполнения каждого запроса, в порядке ввода. Элементы составных индексов должны быть отсортированы в порядке возрастания.
Индексация одномерных и составных индексов по каждому измерению начинается с нуля.
0 ≤ ij < Aj ≤ 100, Aj ≤ Aj + 1, 1 ≤ N ≤ 10, 1 ≤ M ≤ 105
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Все, что от вас требуется, это вывести все возможные вариации фразы Just do it!
,
различающиеся лишь регистром отдельных символов (например jUst DO it!
).
Выходные данные должны содержать все возможные вариации фразы, по одной в строке. Порядок строк не имеет значения.
Автор: | А. Щуров | Ограничение времени: | 2 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Необходимо из ∑ni = 1ki заданных деталей составить такую схему, у которой количество свободных выходов максимально.
Существует n различных типов деталей: каждый тип характеризуется количеством входов (a) и выходов (b). Любые входы можно подключать к любым выходам. Неиспользуемые выходы называются свободными. При подключении детали к схеме нужно обязательно использовать все входы этой детали.
У итоговой схемы должен быть ровно один вход, чтобы можно было подключить схему к источнику с одним выходом.
В первой строке входные данные содержат целое число n — количество типов деталей.
В следующих n строках содержится по три целых числа ki ai bi — количество деталей i-го типа и описание этих деталей.
Нужно вывести одно целое число: максимальное количество свободных выходов после сборки и подключения схемы к источнику. Итоговая схема может не содержать деталей, тогда свободным будет только выход источника.
0 ≤ n ≤ 106
1 ≤ k, a, b ≤ 106
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Имеются два целочисленных массива A и B, длиной N каждый.
Требуется получить лексикографически минимальную перестановку массива A, для которой выполняются условия:
Ai ≤ Bi, i = 1, 2, …, N
Входные данные содержат целое число N, за которым следует 2 ⋅ N целых чисел: массив A, а затем массив B.
Выходные данные должны содержать N целых чисел — полученную перестановку.
Если решения не существует, выведите единственное число − 1.
0 ≤ Ai, Bi ≤ 109, 1 ≤ N ≤ 2 ⋅ 105
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|