Турнир Архимеда(52 задач)
Кировские командные турниры(8 задач)
Барнаульские командные турниры(10 задач)
Московская командная олимпиада(246 задач)
Командные чемпионаты школьников Санкт-Петербурга по программированию(167 задач)
ВКОШП(180 задач)
Фирма Macrohard разработала новый протокол обмена данными по сети. Каждый блок данных при этом обмене состоит из \(N\) чисел в диапазоне от 0 до \(M\)-1 включительно. Чтобы повысить надежность передачи, вместе с блоком данных пересылается контрольный блок такой же длины.
Предположим, что исходный блок состоит из чисел \(a_1\), \(a_2\),…,\(a_N\). Тогда, контрольный блок состоит из чисел \(b_1\), \(b_2\),…,\(b_N\), из диапазона от 0 до \(M\)-1 включительно таких, что выполняются следующие равенства: \(b_1\) = (\(a_N\) + \(b_N\)) mod \(M\), \(b_2\) = (\(a_1\) + \(b_1\)) mod \(M\), ... , \(b_N\) = (\(a_N\)-1 + \(b_N\)-1) mod \(M\) (обозначение \(X\) mod \(M\) обозначает остаток от деления \(X\) на \(M\), например, 7 mod 4 = 3, 6 mod 2 = 0).
Блоки данных, для которых нельзя построить контрольный блок, удовлетворяющий указанному свойству, считаются подозрительными и их передача по сети не разрешается.
Ваня хочет поступить на работу программистом в фирму Macrohard, и в качестве вступительного задания ему поручили написать процедуру построения контрольного блока для заданного блока данных. Помогите ему!
В первой строке вводятся числа \(N\) и \(M\) (1 <= \(N\) <= 1000, 2 <= \(M\) <= \(10^9\)). Следующая строка содержит блок данных, для которого следует построить контрольный блок, числа разделены пробелами.
В первой строке выведите YES, если для данного блока данных можно построить контрольный блок, и NO, если нельзя. В случае, если контрольный блок построить можно, во второй строке выведите контрольный блок. Числа разделяйте пробелами. Если решений несколько, можно выдать любое из них.
4 2 0 0 0 0
YES 0 0 0 0
4 2 0 1 0 0
NO
Петя склеил из \(N^3\) единичных кубиков большой куб размером \(N\) × \(N\) × \(N\). Устав от этой сложной работы, он отправился спать, а утром, проснувшись, с ужасом обнаружил, что его младший брат Ваня \(K\) раз проткнул куб спицей.
При этом Ваня действовал очень аккуратно, каждый раз установив конец спицы точно в центр грани какого-нибудь граничного единичного кубика, он протыкал куб параллельно соответствующей оси координат, при этом целый ряд из \(N\) кубиков оказывался испорчен.
Немного успокоившись после этого тяжелого потрясения, Петя заинтересовался, сколько кубиков в его творении осталось неповрежденными. Помогите ему ответить на этот сложный вопрос.
В первой строке вводятся числа \(N\) и \(K\) (1 <= \(N\) <= 1000, 0 <= \(K\) <= 150). Следующие K строк описывают Ванины преступные действия. Каждая строка содержит три числа - два из них представляют собой соответствующие координаты всех кубиков, проткнутых спицей, а третье, соответствующее координате, в направлении которой был проткнут куб, равно 0. Например, если \(N\) = 3, тройка (1, 0, 3) означает, что спицей были проткнуты кубики (1, 1, 3), (1, 2, 3) и (1, 3, 3). Все координаты лежат в пределах от 1 до \(N\). Известно, что Ваня никакое действие не выполнял два раза (т.е. никакая тройка не встретится во входных данных дважды).
Выведите единственное число - количество неповрежденных кубиков.
5 3 1 2 0 2 3 0 3 3 0
110
По заданному числу определить название месяца.
Вводится одно натуральное число \(N\), 1 ≤ \(N\) ≤ 12
Программа выводит КОД месяца согласно таблице:
1
YAN
Илья Муромец идет на битву со Змеем Горынычем. У Змея Горыныча \(М\) голов, Илья Муромец за один удар отрубает \(N\) голов, после удара Змей Горыныч регенерирует \(K\) голов. Далее процесс повторяется, пока головы не кончатся.
Напишите программу, которая определяет, сможет ли Илья Муромец одолеть Змея Горыныча и, если да, то сколько ударов для этого потребуется.
Программа получает три числа, записанных через пробел — \(N\), \(M\) и \(K\) (1 ≤ \(N\) , \(M\), \(K\) ≤ \(10^9\)), где \(N\) – число голов, которые Илья Муромец срубает одним ударом, \(M\) – число голов Змея Горыныча, \(K\) – число голов, которые Змей Горыныч регенерирует за раз.
Вывести число ударов, которые должен нанести Илья Муромец, чтобы убить Змея Горыныча. Если одолеть Змея Горыныча при заданных исходных данных невозможно, то следует вывести «NO» (без кавычек заглавными буквами).
3 6 2
4
5 10 6
NO
Найдите количество чисел \(Z\), удовлетворяющих неравенству \(A\) ≤ \(Z\) ≤ \(B\), таких, что в записи \(Z\) в двоичной системе счисления используется ровно 2 единицы. Например, если \(A\)=10; \(B\)=20; то таких чисел 5 (это числа \(10=1010_2\); \(12=1100_2\); \(17=10001_2\); \(18=10010_2\); \(20=10100_2\)).
На вход программы поступают два числа, записанных через пробел — \(A\), \(B\) ( 0 ≤ \(A\), \(B\) ≤ \(10^9\))
Выведите одно число – количество чисел \(Z\).
10 20
5