| Условие задачи | | Прогресс | Попытки, все/успешные |
|
Темы:
Условный оператор
В григорианском календаре года нумерются числами 1, 2, 3 и т.д., это года “нашей эры”. Предшествующие года называются “первый год до нашей эры”, “второй год до нашей эры” и т.д.
Будем обозначать года нашей эры положительными числами, а года до нашей эры — отрицательными. При этом года с номером 0 не существует, то есть нумерация лет выглядит так: ..., −3, −2, −1, 1, 2, 3, ...
В летописях написано, что какое-то событие произошло в году номер A, а другое событие произошло спустя n лет после первого события (или за n лет до первого события). Определите, в каком году произошло второе событие.
Входные данные
Первая строка входных данных содержит число A — год, в котором произошло первое событие. Вторая строка содержит число n. Если n > 0, то второе событие произошло через n лет после первого события, а если n < 0, то второе событие произошло за |n| лет до первого события. Оба числа могут быть как положительными, так и отрицательными.
Выходные данные
Программа должна вывести одно целое число — номер года, в который произошло второе событие.
Пояснения к примерам
Пояснение к первому примеру.
Первое событие произошло в 5 году, второе событие произошло за 3 года до первого, это был 2 год.
Пояснение ко второму примеру.
Первое событие произошло в 3 году до н.э., второе событие произошло через 1 год, это 2 год до н.э. Ответ: 2.
Пояснение к третьему примеру.
Первое событие произошло в 3 году до н.э., второе событие произошло через 4 года. Отсчитываем 4 года: 2 год до н.э., 1 год до н.э., 1 год н.э., 2 год н.э. Ответ: 2.
| |
|
10/
1
|
|
Темы:
Циклы
Условный оператор
Натуральные числа, которые можно выразить в виде суммы двух или более последовательных натуральных чисел, называются вежливыми числами. С другой стороны, натуральные числа, которые нельзя выразить подобным образом, называются невежливыми.
Ваша задача не только определить является натуральное число вежливым, но и подсчитать количество способов, которыми число можно выразить в виде суммы последовательных натуральных чисел. Для невежливых чисел это значение будет равно одному, а для вежливых - двум и более.
Например, число 42 - вежливое, и его можно выразить как
а) 3+ 4 + 5 + 6 + 7 + 8 + 9;
б) 9 + 10 + 11 + 12;
в) 13 + 14 + 15;
г) 42.
Число 512 будет невежливым, так как для него существует единственное представление
а) 512
Входные данные
Одно натуральное число N (N <= 106)
Выходные данные
Одно натуральное число - количество представлений N в виде суммы последовательных натуральных чисел
| |
|
6/
2
|
|
Темы:
Цикл for
Условный оператор
Коля на летних каникулах занимается ерундой, плохо и неумело прокачивая персонажа в онлайн-игре. Вместо любой предлагаемой активности он ходит по локациям и охотится на монстров, зарабатывая очки опыта. Вдобавок к этому после каждой удачной охоты он пишет, сколько теперь у его персонажа процентов опыта, нужного для повышения уровня. После повышения уровня отсчет начинается заново. Определите по записям, сколько уровней получил Коля, если известно, что никакой монстр не даст ему два уровня сразу. Кроме этого, монстры дают не очень много опыта, поэтому после повышения уровня процент достижения следующего не может превышать предыдущее значение в записях.
Формат ввода
На вход программе в первой строке подается натуральное число N, не превышающее 10000 – количество уничтоженных монстров.
Далее в N строках подается по одному натуральному числу vi, не превышающему 99 – процент выполнения задачи в попытке номер i.
Формат вывода
Вывести одно целое число – сколько уровней набрал персонаж Коли за летние каникулы.
| |
|
24/
2
|
|
Темы:
Строки
Циклы
Условный оператор
Прибор передает результаты измерений блоками информации. Каждый блок представляет собой набор цифр в шестнадцатеричной системе счисления (0123456789ABCDEF). Последняя цифра пятеричной записи суммы цифр блока показывает код ошибки, где 0 означает корректную передачу данных. Предпоследняя цифра пятеричной записи суммы цифр блока показывает тип результата:
0: «Излучение»
1: «Вспышка»
2: «Нагрев»
3: «Охлаждение»
4: «Перегрузка»
Определите количество результатов «Перегрузка», которые были переданы без ошибок после приема n блоков данных.
Формат ввода
В первой строке программе подается на вход число натуральное число n, не превышающее 1000.
Далее в каждой из n строк идет блок данных – набор цифр в шестнадцатеричной системе счисления (0123456789ABCDEF), длина блока не превышает 100 знаков.
Формат вывода
Вывести одно число – количество результатов «Перегрузка», которые были переданы без ошибок после приема n блоков данных.
| |
|
1/
1
|
|
Темы:
Условный оператор
Бизнесмен Василий после прочтения известной книги решил открыть новый бизнес – отгружать апельсины бочками. Партнерам важно знать сколько именно бочек апельсинов отгружается каждый день.
Мобильный телефон Василия поддерживает только транслит, поэтому он передает сообщения вида "N bochek" . Например, "3 bochki" или "1 bochka" .
Напишите программу, которая выбирает правильное слово (из "bochka" , "bochek" , "bochki" ) в зависимости от N.
Формат входных данных
Одно число N (0 ≤ N ≤ 1000).
Формат выходных данных
Фраза на транслите (см. примеры).
| |
|
258/
48
|
|
Темы:
Условный оператор
Напишите программу, которая вводит номер месяца и выводит название времени года на английском языке. При вводе неверного номера месяца должно быть выведено слово 'NO'.
Формат входных данных
Входная строка содержит единственное число – номер месяца (возможно, неверный).
Формат выходных данных
Нужно вывести название времени года (на английском языке), соответствующее введённому номеру месяца ('winter' – зима, 'spring' – весна, 'summer' – лето, 'autumn' – осень). Если введён неверный номер месяца, программы должна вывести слово 'NO'.
| |
|
325/
82
|
|
Темы:
Условный оператор
Поле для игры в новую игру "Гексагон" разбито на шестиугольники (см. рисунок). Игрок, стартуя из некоторого начального шестиугольника, сделал несколько ходов. Каждый ход заключается в премещении фишки в соседний шестиугольник (имеющий с тем, где находилась фишка до начала хода, общую сторону) — тем самым, ход делается вдоль одного из направлений X, Y или Z (см. рисунок). Игрок записал все свои ходы, причем если фишка двигалась вдоль какого-либо направления несколько раз подряд, то в записи это обозначается указанием направления и количества ходов, которые были сделаны.
Напишите программу, которая найдет кратчайший (по количеству совершаемых ходов)путь в начальную клетку из той, где фишка оказалась после ходов игрока.

Входные данные
В первой строке записано число N — количество строк в записи перемещений фишки (1 ≤ N ≤ 100). Далее идет N строк с записью ходов: в каждой строке записана сначала большая буква X, Y или Z, задающая направление, затем пробел, и число, задающее количество ходов в данном направлении (число может быть и отрицательным, если игрок перемещал фишку параллельно оси, но в направлении, противоположном направлению оси). Все числа по модулю не превышают 200.
Выходные данные
Выведите описание кратчайшего пути обратно в начальную клетку в том же формате, в каком описание задано во входных данных (за исключением ограничений). Все числа, определяющие количество ходов в каком-либо направлении, должны быть ненулевыми.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
Z -2
Y 3
Z 3
X -1
|
4
Z -1
Y -1
Z -1
Y -1
|
| |
|
2/
1
|
|
Темы:
Строки
Условный оператор
Васе задали несколько однотипных задач по математике: «найти значение многочлена». Он хочет написать программу, которая по заданному многочлену и значению x находила бы ответ. Напишите такую программу!
Входные данные
В первой строке входного файла записан многочлен в виде суммы одночленов. Между одночленами находится знак + или –. Перед первым одночленом может быть знак –. Одночлен записывается как
[<Коэффициент>*]x[^<Степень>]
или
<Коэффициент>
где <Коэффициент> — натуральное число, не превосходящее 100, x — символ переменной (всегда маленькая латинская буква x), <Степень> — натуральное число, не превосходящее 4. Параметры, взятые в квадратные скобки, могут быть опущены. Во второй строке записано одно целое число — значение x.
Выходные данные
В выходной файл нужно записать одно число — значение данного многочлена при данном значении x.
Ограничения
Все числа в исходном файле по модулю не превосходят 100. Количество одночленов не более 10 (могут быть одночлены одинаковой степени).
| |
|
3/
1
|
|
Темы:
Двумерные массивы
Условный оператор
Мальчику Васе очень нравится известная игра "Сапер" ("Minesweeper").
В "Сапер" играет один человек. Игра идет на клетчатом поле (далее будем называть его картой) NxM (N строк, M столбцов). В K клетках поля стоят мины, в остальных клетках записано либо число от 1 до 8 — количество мин в соседних клетках, либо ничего не написано, если в соседних клетках мин нет. Клетки являются соседними, если они имеют хотя бы одну общую точку, в одной клетке не может стоять более одной мины. Изначально все клетки поля закрыты. Игрок за один ход может открыть какую-нибудь клетку. Если в открытой им клетке оказывается мина — он проигрывает, иначе игроку показывается число, которое стоит в этой клетке, и игра продолжается. Цель игры — открыть все клетки, в которых нет мин.
У Васи на компьютере есть эта игра, но ему кажется, что все карты, которые в ней есть, некрасивые и неинтересные. Поэтому он решил нарисовать свои. Однако фантазия у него богатая, а времени мало, и он хочет успеть нарисовать как можно больше карт. Поэтому он просто выбирает N, M и K и расставляет мины на поле, после чего все остальные клетки могут быть однозначно определены. Однако на определение остальных клеток он не хочет тратить свое драгоценное время. Помогите ему!
По заданным N, M, K и координатам мин восстановите полную карту.
Входные данные
В первой строке входного файла содержатся числа N, M и K (1≤N≤200, 1≤M≤200, 0≤K≤N≤M). Далее идут K строк, в каждой из которых содержится по два числа, задающих координаты мин. Первое число в каждой строке задает номер строки клетки, где находится мина, второе число — номер столбца. Левая верхняя клетка поля имеет координаты (1,1), правая нижняя — координаты (N,M).
Выходные данные
Выходной файл должен содержать N строк по M символов — соответствующие строки карты. j-й символ i-й строки должен содержать символ ‘*‘ (звездочка) если в клетке (i,j) стоит мина, цифру от 1 до 8, если в этой клетке стоит соответствующее число, либо ‘.‘ (точка), если клетка (i,j) пустая.
| |
|
1/
1
|
|
Темы:
Условный оператор
Цикл for
Вася хочет узнать, какую оценку он получит в четверти по информатике. Учитель придерживается следующей системы: вычисляется среднее арифметическое всех оценок в журнале, и ставится ближайшая целая оценка, не превосходящая среднего арифметического.
При этом если у школьника есть двойка, а следующая за ней оценка – не двойка, то двойка считается закрытой, и при вычислении среднего арифметического не учитывается.
Входные данные
Вводится десять натуральных чисел от 2 до 5 через пробел – оценки Васи.
Выходные данные
Выведите натуральное число (от 2 до 5) – его четвертную оценку.
| |
|
56/
18
|
|
Темы:
Условный оператор
В Москве установили счетчики системы СтатГрад для учета и контроля над силой града. Каждый счетчик системы учитывает количество попаданий в него градин за сутки. Если в него попадает меньше a градин, то он передает сигнал NO GRAD. Если попадает не меньше a градин, но меньше b градин, то он передает сигнал GRAD. Если больше либо равно b градин – то он ломается, и не передает никакого сигнала.
Даны числа a и b (a < b), а также количество попавших в счетчик градин. Требуется определить, какой сигнал нужно передать.
Входные данные
Вводятся три натуральных числа, не превосходящих 1000: a, b и количество градин.
Числа разделены пробелом.
Выходные данные
Выведите либо NO GRAD, либо GRAD, либо не выводите ничего.
| |
|
1/
1
|
|
Темы:
Условный оператор
Вы сидите на первом сидении в маршрутном такси. Проезд в маршрутке стоит 10 рублей. Вам передают купюры достоинством в 10, 50 и 100 рублей (с каждой купюры – на билет за одного пассажира). Часть из них вы можете сразу раздать в качестве сдачи (её можно выдать полностью или частично). Остальные купюры вы передаете водителю. Какое наименьшее количество купюр вам придется передать водителю?
Входные данные
Вводится три целых неотрицательных числа (каждое не превосходит 100) – количество 10-, 50- и 100-рублевых купюр, которые вам передали.
Выходные данные
Выведите одно число – наименьшее возможное количество купюр, которое придется передать водителю.
| |
|
7/
3
|
|
Темы:
Условный оператор
Петя нарисовал на клетчатой бумаге прямоугольник по линиям сетки. После этого он подсчитал количество узлов сетки, оказавшихся внутри (не на границе!) прямоугольника и количество единичных отрезков сетки внутри прямоугольника и сообщил эти два числа Васе. Напишите программу, которая поможет Васе определить длины сторон прямоугольника.

Входные данные
Вводятся два целых неотрицательных числа K и L – количество узлов и единичных отрезков сетки соответственно. Оба числа не превосходят 1000.
Выходные данные
Выведите два натуральных числа – длины сторон прямоугольника в любом порядке. Если ответов несколько, выведите любой из них. Гарантируется, что ответ всегда существует.
| |
|
8/
1
|
ID 54918.
Кони
Темы:
Условный оператор
Сколько существует клеток на доске размером K * K таких, что шахматный конь, стоящий на этой клетке, бьет ровно N полей?
Входные данные
Вводятся натуральные числа K и N (1 ≤ K ≤ 100, 2 ≤ N ≤ 8).
Выходные данные
Выведите количество клеток, с которых конь бьет ровно N
полей.
Комментарий
на доске 8*8 конь бьет ровно два поля только с угловых клеток, их 4.
| |
|
5/
4
|
|
Темы:
Цикл for
Условный оператор
Сколько понадобится парт, чтобы рассадить A
школьников, если за одну парту можно посадить одного или двух человек? За каждой партой должен сидеть хотя бы один человек. Укажите все варианты.
Входные данные
Вводится одно натуральное число — A
( 1 ≤ A ≤ 10000)
Выходные данные
Выведите упорядоченный по возрастанию набор чисел – все возможные значения количества необходимых парт.
| |
|
5/
4
|
|
Темы:
Условный оператор
Цикл for
Требуется сравнить два 100-значных числа.
Входные данные
На вход программы поступают два 100-значных натуральных числа A и B. Каждое число вводится на отдельной строке.
Выходные данные
Если A>B, то выведите “>” (один символ без кавычек).
Если A<B, то выдайте “<”.
Если A=B, выдайте “=”.
Комментарий
В примерах числа 111…1 и 222…2 состоят из 100 знаков.
| |
|
68/
17
|
|
Темы:
Условный оператор
Илья Муромец идет на битву со Змеем Горынычем. У Змея Горыныча М голов, Илья Муромец за один удар отрубает N голов, после удара Змей Горыныч регенерирует K голов. Далее процесс повторяется, пока головы не кончатся.
Напишите программу, которая определяет, сможет ли Илья Муромец одолеть Змея Горыныча и, если да, то сколько ударов для этого потребуется.
Входные данные
Программа получает три числа, записанных через пробел — N, M и K (1 ≤ N , M, K ≤ 109), где N – число голов, которые Илья Муромец срубает одним ударом, M – число голов Змея Горыныча, K – число голов, которые Змей Горыныч регенерирует за раз.
Выходные данные
Вывести число ударов, которые должен нанести Илья Муромец, чтобы убить Змея Горыныча. Если одолеть Змея Горыныча при заданных исходных данных невозможно, то следует вывести «NO» (без кавычек заглавными буквами).
| |
|
53/
5
|
|
Темы:
Условный оператор
По заданному числу определить название месяца.
Входные данные
Вводится одно натуральное число N, 1 ≤ N ≤ 12
Выходные данные
Программа выводит КОД месяца согласно таблице:
| |
|
2/
2
|
ID 54674.
Куб
Темы:
Одномерные массивы
Условный оператор
Петя склеил из N3 единичных кубиков большой куб размером 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. Известно, что Ваня никакое действие не выполнял два раза (т.е. никакая тройка не встретится во входных данных дважды).
Выходные данные
Выведите единственное число - количество неповрежденных кубиков.
| |
|
1/
1
|
|
Темы:
Условный оператор
Циклы
На прямой тропинке на расстоянии 1 метр друг от друга сидят два кузнечика. Время от времени один из кузнечиков прыгает на несколько сантиметров влево или вправо. Требуется узнать, каково было минимальное расстояние, на которое сближались кузнечики в процессе прыжков. (Расстояние считается только в те моменты, когда оба кузнечика сидят на земле).
Входные данные
В первой строке вводится одно число N (1 ≤ N ≤ 100) – общее количество прыжков, а затем N чисел, описывающих прыжки. Модуль числа равен длине прыжка в сантиметрах; число отрицательное, если кузнечик начинал этот прыжок по направлению к другому кузнечику, и положительное – если от другого кузнечика. Числа по модулю не превосходят 100 и все отличны от 0. (Кузнечики могут перепрыгивать друг через друга. Гарантируется, что кузнечики не приземляются друг на друга.)
Выходные данные
Требуется вывести одно число – минимальное расстояние в сантиметрах, на которое сближались
| |
|
4/
2
|
|