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


Олимпиадный тренинг

Вы можете самостоятельно решать эти задачи столько раз, сколько вам это понадобится.
   

Крещенские купания

Условный оператор

Во время Крещенских купаний Вилли любит окунуться в прорубь, которая представляет собой прямоугольник размером \( N х M\) метров. Для большей смелости Вилли опускает на воду деревянную шахматную доску и идёт переодеваться. После этого он возвращается, и видит, что доска находится на расстоянии \(x\) метров от одной из длинных сторон (не обязательно от ближайшей) и \(y\) метров от одной из коротких сторон. Плыть за доской он просто обязан. Какое минимальное расстояние необходимо преодолеть Вилли, чтобы доплыть до своей шахматной доски (размерами доски можно пренебречь)?

Входные данные: Программа получает на вход числа N, M, x, y.
Выходные данные: Программа должна вывести число метров, которое нужно преодолеть Вилли до доски.

 
Примеры
Входные данные Выходные данные
1 23
52
8
43
8

Составление условий - 1

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


данное натуральное число a кратно числу b, но не кратно числу с

ПРИМЕР: (на вход подается три числа a, b, c через пробел )
входные данные:
24 12 3
выходные данные:
0

ПРИМЕР:
входные данные:
50 25 3
выходные данные:
1

Электричка

Условный оператор

Вагоны в электричке пронумерованы натуральными числами, начиная с 1 (при этом иногда вагоны нумеруются от «головы» поезда, а иногда – с «хвоста»; это зависит от того, в какую сторону едет электричка). В каждом вагоне написан его номер.

Витя сел в i-й вагон от головы поезда и обнаружил, что его вагон имеет номер j. Он хочет определить, сколько всего вагонов в электричке. Напишите программу, которая будет это делать или сообщать, что без дополнительной информации это сделать невозможно.

Входные данные: На вход программы поступают два числа i и j (1 ≤ i ≤ 1000, 1 ≤ j ≤ 1000), разделенные пробелом.
Выходные данные: Выведите одно число — количество вагонов в электричке. Если однозначно определить количество вагонов нельзя, выведите  число  0
Примеры
Входные данные Выходные данные
1 3 4 6

Вычисления по правилу - 1

Условный оператор

Даны целых числа X и Y. Вычислите число Z, по следующему правилу:
если X<=Y, то Z=X+Y,  
и Z=1-X+Y в противном случае.

Входные данные: с клвиатуры вводится 2 целых числа X и Y

Выходные данные: необходимо вывести на экран значение переменной Z

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 5 6 11
2 6 5 0

Составление условий - 4

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


сумма двух натуральных чисел кратна 2

ПРИМЕР: (на вход подается два числа через пробел)
вход: 12 24
вывод: 1

ПРИМЕР:
вход: 27 24
вывод: 0

Составление условий - 9

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


цифры исходного четырехзначного числа N образуют строго возрастающую последовательность
 
входные данные
на вход подается число N (1000<=N<=9999)

выходные данные
1 - если все цифры числа образуют строго возрастающую последовательность
0 - в противном случае

ПРИМЕР:
вход: 1234
вывод: 1

ПРИМЕР:
вход: 1224
вывод: 0

Кратность суммы цифр

Целые числа Условный оператор

Дано трехзначное число. Определить, кратна ли 5 сумма его цифр. Вывести на экран слово YES или NO

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 473 NO
2 451 YES

Точка на координатной плоскости - 7

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.
 

Примеры
Входные данные Выходные данные
1 0.5 0.5  YES
2 -0.5 -0.5  NO

Склад ноутбуков

Условный оператор

На склад, который имеет форму прямоугольного параллелепипеда, привезли ноутбуки, упакованные в коробки. Каждая коробка также имеет форму прямоугольного параллелепипеда. По правилам хранения коробки с ноутбуками должны быть размещены на складе с выполнением следующих двух условий:
1. Стороны коробок должны быть параллельны сторонам склада.
2. Коробку при помещении на склад разрешается расположить где угодно (с выполнением предыдущего условия), в том числе на другой коробке, но все коробки должны быть ориентированы одинаково (т.е. нельзя одну коробку расположить “стоя”, а другую —“лежа”)

Напишите программу, которая по размерам склада и размерам коробки с ноутбуком определит максимальное количество ноутбуков, которое может быть размещено на складе.

Входные данные: Программа получает на вход шесть натуральных чисел. Первые три задают длину, высоту и ширину склада. Следующие три задают соответственно длину, высоту и ширину коробки с ноутбуком.
Выходные данные: Программа должна вывести одно число — максимальное количество ноутбуков, которое может быть размещено на складе.

Примеры
Входные данные Выходные данные
1 100
200
300
1
2
3
1000000
2 100
200
300
3
2
1
1000000
3 100
100
1
2
2
2
0
4 7
7
7
3
3
3
8

Лифт

Формула Условный оператор

Петру необходимо попасть с этажа A на этаж B. Для вызова лифта на всех этажах офисного здания, кроме первого и последнего, есть две кнопки – для перемещения вниз и перемещения вверх. В тот момент, когда Петр нажал нужную кнопку вызова, лифт находился на этаже C и вез одного пассажира на этаж D. Если лифт проезжает мимо этажа, на котором нажата кнопка вызова, и лифт движется в подходящем направлении, то лифт останавливается, чтобы посадить дополнительного пассажира. Лифт перемещается между соседними этажами за одну единицу времени, также одну единицу времени занимает остановка лифта на этаже для высадки или посадки пассажиров.
Напишите программу, вычисляющую, через сколько времени Петр доберется до этажа B, при условии, что никто больше не будет вызвать лифт.
Первая строка ввода содержит четыре целых числа A, B, C и D, разделенных одним пробелом (1 ≤ A, B, C, D ≤ 20, A≠B, C≠D, A≠C).
Вывести одно целое число – количество единиц времени от момента вызова лифта до момента, когда Петр выйдет из лифта на этаже B.
 
Ввод Вывод
3 9 2 5 10
3 9 5 2 13
Примечание:
Пояснение к примеру 1
Лифт за 1 единицу времени доедет до 3-го этажа, остановится на 1 единицу времени, чтобы Петр сел в лифт, затем через 2 единицы времени доедет до 5-го этажа и остановится на 1 единицу времени для высадки предыдущего пассажира, через 4 единицы времени лифт довезет Петра до 9-го этажа, и через 1 единицу времени Петр выйдет из лифта.

Вычисления по правилу - 2

Условный оператор

Дано целое число. Если число положительное, то вывести его на печать; если отрицательное - вывести число, умноженное на –1.

Входные данные: с клавиатуры вводится одно число
Выходные данные: необходимо вывести на экран само число, если оно положительное, или число умноженное на -1, в противном случае

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 3 3
2 -3 3

Проездной

Условный оператор

В некотором городе Че билеты на проезд в общественном транспорте (назовем такие билеты одним словом - проездной) можно купить по разным тарифам:
- проездной на одну поездку стоит 15 рублей,
- проездной на 10 поездок стоит 125 рублей,
- проездной на 60 поездок стоит 440 рублей.
Вы планируете совершить \(n \) поездок. 
Определите, сколько проездных каждого вида Вы должны купить, чтобы потратить как можно меньше денег, а общее число оплаченных поездок было не меньше \(n\)

Входные данные: Программа получает на вход одно число n.
Выходные данные: Программа должна вывести три целых числа, равных необходимому количеству билетов на 1, на 10, на 60 поездок.

Примеры

Входные данные Выходные данные
1 36 0 0 1
2 64 4 0 1

Сумма цифр числа

Целые числа Условный оператор

Дано двузначное число. Написать программу, которая определяет, является ли сумма его цифр двузначным числом. Если нет, то через сколько чисел встретиться первое двузначное число, удовлетворяющее этому условию

Входные данные: с клавиатуры вводится одно число N ( 10 <= N <= 99)

Выходные данные: выведите на экран слово YES, если сумма цифр числа N - двузначное число, иначе вывести на экран число, которое показывает через сколько чисел от исходного N встретиться первое число, сумма цифр которого будет двузначным числом

Пример входных и выходных данных
 

№ теста Входные данные Выходные данные
1 65 YES
2 25 3

Количество нечетных цифр

Условный оператор Целые числа

Дано четырехзначное число. Написать программу, которая определяет сколько нечетных цифр в нем

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 4732 2

Составление условий - 2

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


произведение натуральных чисел a и b кратно числу с

ПРИМЕР: (на вход подается три числа через пробел)
вход: 12 24 3
вывод: 1

ПРИМЕР:
вход: 27 24 5
вывод: 0

Составление условий - 11

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


все цифры исходного четырехзначного числа различны
 
входные данные
на вход подается число N (1000<=N<=9999)

выходные данные
1 - если все цифры числа различны
0 - в противном случае

Количество четных цифр

Целые числа Условный оператор

Дано четырехзначное число. Написать программу, которая определяет сколько четных цифр в нем

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 4732 2

Сумма или произведение

Условный оператор Целые числа

С клавиатуры вводится целое число X ( 100<=X<=9999).
Если число четырехзначное, то найти сумму его цифр, а если трехзначное, то произведение цифр числа

Пример входных и выходных данных
 

№ теста Входные данные Выходные данные
1 125 10
2 1253 11

Точка на координатной плоскости - 8

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата)

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.
Примеры

Входные данные Выходные данные
1 -0..5 -0.5 YES
2 -1. 1.5  NO

Кондиционер

Условный оператор

В офисе, где работает программист Петр, установили кондиционер нового типа. Этот кондиционер отличается особой простотой в управлении. У кондиционера есть всего лишь два управляемых параметра: желаемая температура и режим работы.

Кондиционер может работать в следующих четырех режимах:

  • «freeze» — охлаждение. В этом режиме кондиционер может только уменьшать температуру. Если температура в комнате и так не больше желаемой, то он выключается.
  • «heat» — нагрев. В этом режиме кондиционер может только увеличивать температуру. Если температура в комнате и так не меньше желаемой, то он выключается.
  • «auto» — автоматический режим. В этом режиме кондиционер может как увеличивать, так и уменьшать температуру в комнате до желаемой.
  • «fan» — вентиляция. В этом режиме кондиционер осуществляет только вентиляцию воздуха и не изменяет температуру в комнате.

Кондиционер достаточно мощный, поэтому при настройке на правильный режим работы он за час доводит температуру в комнате до желаемой.

Требуется написать программу, которая по заданной температуре в комнате troom, установленным на кондиционере желаемой температуре tcond и режиму работы определяет температуру, которая установится в комнате через час.

Входные данные: Первая строка содержит два целых числа troom, и tcond, разделенных ровно одним пробелом (–50 ≤ troom ≤ 50, –50 ≤ tcond ≤ 50).

Вторая строка содержит одно слово, записанное строчными буквами латинского алфавита — режим работы кондиционера.

Выходные данные: Необходимо вывести дно целое число — температуру, которая установится в комнате через час.

Примечание: 
В первом примере кондиционер находится в режиме нагрева. Через час он нагреет комнату до желаемой температуры в 20 градусов.

Во втором примере кондиционер находится в режиме охлаждения. Поскольку температура в комнате ниже, чем желаемая, кондиционер самостоятельно выключается и температура в комнате не поменяется.
Примеры

Входные данные Выходные данные
1 10 20
heat
20
2 10 20
freeze
10

Тип треугольника

Условный оператор

Даны три стороны треугольника a, b, c. Определите тип треугольника с заданными сторонами. Выведите одно из четырех слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если треугольника с такими сторонами не существует.

Входные данные: Вводятся три натуральных числа.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 3
4
5
rectangular
2 1
2
3
impossible

Сравнение цифр числа

Целые числа Условный оператор

Дано двузначное число. 
Написать программу, которая выводит на экран слово YES, если цифры этого числа одинаковы и слово NO - если цифры разные

Входные данные: с клавиатуры вводится одно число
Выходные данные: выведите на экран слово YES или слово NO, в зависимости от условия задачи

Пример входных и выходных данных
 

№ теста Входные данные Выходные данные
1 65 NO
2 55 YES

Точка на координатной плоскости - 6

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.
 

Примеры
Входные данные Выходные данные
1 0. 0. NO

Точка на координатной плоскости - 11

Условный оператор

Даны координаты точки (x, y). Выведите на экран слово YES, если точка попадает в заштрихованную область, в противном случае - выведите NO. Точка, расположенная на границе с заштрихованной областью, считается не попавшей в нее.

Входные данные: На вход программе подаются два вещественных числа - координаты точки (x, y)
Выходные данные: Выведите ответ на задачу

Примеры

Входные данные Выходные данные
1 0.0 -0.5 NO
2 1.0 1.5 YES

Часы

Разбор случаев Задачи на моделирование Условный оператор

Наручные часы на электронных чернилах могут показывать текущее время в нескольких разных формах. Одна из форм — это имитация механических часов со стрелками. Циферблат часов разделен на 12 больших часовых делений, а каждое из них — на 5 малых делений. Угол между малыми делениями на циферблате равен 6. Для экономии энергии перерисовка изображения происходит один раз в минуту, когда необходимо переместить минутную стрелку. Часовая стрелка также движется дискретно, перемещаясь через каждые 12 минут на одно малое деление. Таким образом в 12:35 часовая стрелка будет указывать на 2-е малое деление справа от 12 часов, а минутная будет указывать на 7 часов (см. рис). Угол между стрелками в этот момент равен 1620. В 12:36 часовая стрелка переместится на 3-е малое деление после 12 часов, а минутная — на следующее малое деление после 7 часов. Угол между стрелками часов при этом не изменится.

Напишите программу, которая вычисляет величину "внутреннего" (меньшего) угла между часовой и минутной стрелкой в заданный момент времени.
Первая строка ввода содержит два целых числа, разделенных одним пробелом — время на часах, часы H и минуты M (1 ≤ H ≤ 12, 0 ≤ M ≤ 59).
Вывести одно целое число в диапазоне от 0 до 180 — величину угла между стрелками в градусах.
 
Ввод Вывод
12 35 162

Вывод чисел

Условный оператор

Даны два числа. Выведите на экран первое из них, если оно больше второго и оба числа, если это не так.

Входные данные: с клавиатуры вводится 2 целых числа

Выходные данные: необходимо вывести на экран первое число, если оно больше второго, или же вывести оба этих числа, если первое число не больше второго

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 5 3 5
2 3 5 3 5

Область точки

Условный оператор

Даны координаты точки (x, y). Выведите на экран слово YES, если точка попадает в заштрихованную область, в противном случае - выведите NO. Точка, расположенная на границе с заштрихованной областью, считается не попавшей в нее.
Входные данные: На вход программе подаются два вещественных числа - координаты точки (x, y)
Выходные данные: Выведите ответ на задачу
Примеры

Входные данные Выходные данные
1 1.0 1.0 NO
2 1.9 1.8 YES

Составление условий - 3

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


сумма цифр данного трехзначного числа является четным числом

ПРИМЕР:
вход: 123
вывод: 1

ПРИМЕР:
вход: 122
вывод: 0

Пончики

Условный оператор

Любителям пончиков посвящается! 
Пончики — это изделия из теста, обжаренные в масле. Готовят пончики с начинкой или без нее. В кастрюлю с маслом одновременно можно положить \(k\) пончиков. Каждый пончик нужно обжарить с двух сторон по \(m\) минут непрерывно. 
Напишите программу, которая определит, за какое наименьшее время удастся приготовить n пончиков.

Входные данные: Программа получает на вход три числа: k, m и n, по одному в строке.
Выходные данные: Программа должна вывести одно число: наименьшее количество минут.

Примеры

Входные данные Выходные данные
1 1
5
1
10
2 2
3
7
21

Билеты в метро - 2

Условный оператор

Давным-давно цены на билеты были такими:
1 поездка — 15 рублей,
5 поездок — 70 рублей,
10 поездок — 125 рублей,
20 поездок — 230 рублей,
60 поездок — 440 рублей.
Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов — минимальна.

Входные данные: Программа получает на вход одно число n.

Выходные данные: Программа должна вывести пять целых чисел: количество билетов на 1, 5, 10, 20, 60 поездок, которое необходимо приобрести. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой суммарной стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок.

Примеры
Входные данные Выходные данные
1 1 1 0 0 0 0
2 7 2 1 0 0 0

Точка на координатной плоскости - 2

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область. 

Входные данные: 

Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные:

Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.
Примеры

Входные данные Выходные данные
1 0. 1. YES
2 0. -1. NO

Счастливое число

Целые числа Условный оператор

Дано шестизначное число. Написать программу, которая определяетявляется ли оно счастливым (сумма первых трех цифр равна сумме последних трех). Если число счастливое вывести на экран слово HAPPY, в противном случае вывести на экран слово NO

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 111111 HAPPY
2 134211 NO

Ход короля

Условный оператор

Король – это особая в шахматах фигура. Его ценность несравнима с ценностью остальных фигур – с его потерей партия сразу заканчивается.

Поэтому шахматный король бесценен! Но он тоже имеет право вести бой. Король может закрыть путь трём пешкам. А в паре с пешкой он может доставить неприятности самым сильным фигурам. Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку.
Поможем Вилли запрограммировать ход шахматного короля. 

Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом.

Входные данные: Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Выходные данные: Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае.
Примеры
Входные данные Выходные данные
1 4
4
5
5
YES

Делим шоколадку

Условный оператор

Шоколад — одно из любимейших лакомств на планете.  Вилли утверждает, что шоколад облегчает концентрацию внимания, повышает скорость обработки информации и улучшает память. Вилли всегда берет на партию шоколадку. У Вилли всегда имеется шоколадка прямоугольной формы, разделенной на n×m долек. Он хочет оставить на следующую партию часть шоколадки, состощей из k долек. Причем шоколадку можно разломить один раз по прямой на две части. Определите, получится ли у Вилли таким образом отломить от шоколадки ровно k долек.

Входные данные: Программа получает на вход три числа: n, m, k
Выходные данные: Программа должна вывести одно из двух слов: YES или NO.
Примеры
Входные данные Выходные данные
1 4
2
6
YES
2 2
10
7
NO

Шахматный набор

Условный оператор

Вилли ездит на соревнования всегда с двумя наборами шахмат. Набор шахмат представляет из себя складную шахматную доску, внутрь которой можно положить фигуры. Для экономии места в багаже, Вилли всегда складывает все фигуры в одну коробку, и эту коробку кладет внутрь другой коробки. 
Перед очередными соревнованиями он пошел в магазин за новыми шахматными наборами. Он выбрал два набора шахмат. Первый набор имеет размер доски в сложенном виде A1×B1×C1, второй - размером A2×B2×C2.
Вилли хочет узнать, поместится ли один шахматный набор внутрь другого, при условии, что поворачивать доски можно только на 90 градусов вокруг ребер.

Входные данные: Программа получает на вход числа A1, B1, C1, A2, B2, C2.
Выходные данные: Программа должна вывести одну из следующих строчек:

Boxes are equal, если оба набора одинаковые,
The first box is smaller than the second one, если первый набор может быть положен во второй,
The first box is larger than the second one, если второй набор может быть положен в первый,
Boxes are incomparable, во всех остальных случаях.

Примеры

Входные данные Выходные данные
1 1
2
3
3
2
1
Boxes are equal
2 3
4
5
2
4
6
Boxes are incomparable

Ход коня

Условный оператор

Конь - самая загадочная фигура в шахматной игре. Основное отличительное свойство — смена цвета поля при каждом ходе. 
Требуется определить, может ли конь, стоящий на клетке с указанными координатами (номер строки и номер столбца), побить фигуру, стоящую на другой указанной клетке.

Входные данные: Вводятся четыре числа: координаты коня и координаты другой фигуры. Координаты - целые числа в интервале от 1 до 8.
Выходные данные: Требуется вывести слово YES, если конь может побить фигуру за 1 ход, в противном случае вывести слово NO
Примеры
Входные данные Выходные данные
1 1
1
2
3
YES
2 3
2
8
3
NO

Такие разные скорости

Условный оператор

Несколько фактов про скорости:
1) Самое ветреное место - Земля Виктории, находящаяся в Антарктиде. Скорость ветра здесь доходит до 215 км/ч
2) Самая большая скорость игрушечного поезда - 10 км/ч
3) Самая медленная скорость в спорте была зарегистрирована 12 августа 1889 года - 1350 м/ч в перетягивании каната
4) Средняя скорость улиток составляет примерно 1,5 мм в секунду
Скорости бывают разные: скорость чтения, скорость передачи информации, скорость полета птицы и т.д.
Ваша задача по известным двум скоростям (первая в километрах в час, вторая в метрах в секунду) определить, какая из скоростей больше. Скорости не равны.
Вывести на экран соответствующую скорость.
Входные данные: 
На вход подаются два целых числа, по одному в строке:
k - скорость в километрах в час
m - скорость в метрах в секунду
Выходные данные:
Вывести наибольшую скорость (смотри пример вывода) 

Примеры

Входные данные Выходные данные
1 10
1
10 kph
2 18
6
6 mps

Надёжное крепление

Условный оператор

Уличный рекламный щит прикреплён к опоре при помощи трёх креплений. Первое крепление может выдерживать ветер, скорость которого не превосходит A м/c, второе крепление – B м/c, третье – C м/с. Сам щит будет надёжно закреплён, если как минимум два крепления из трёх выдерживают ветер данной скорости. Определите максимальную скорость
ветра, которую выдержит данный щит.
Программа получает на вход три целых положительных числа A, B, С, не превосходящие 2×109, – допустимые скорости ветра, которые выдерживают три крепления щита. Программа должна вывести одно число – максимальную скорость ветра, которую выдержит щит.
 

Ввод Вывод
28
15
10
15

Проверка решений

Условный оператор

Шахматы, возникнув 15 веков назад, продолжают жить и развиваться, используя все современные технические средства. Однако, несмотря на это, никто еще, не исключая и чемпиона мира, не научился играть безошибочно. Увы, умственные возможности человека не беспредельны. Шахматные компьютерные движки могут за считанные секунды проверить наличие ошибок в Вашей партии и подсказать, как следовало бы пойти.
Писать компьютерный движок мы с Вами еще не научились, но попробуем написать программу, которая бы проверяла ответы.
Существует такая задача: “На вход программе подается четырехзначное число. Если оно является симметричным, выведите 1, иначе выведите любое другое целое число”.
Как Вы уже знаете, все задачи проверяются на заранее подготовленных примерах и правильных ответах на них.

Начинающему программисту кажется, что он решил эту задачу, но почему-то система не принимает его решение. Начинающий программист думает, что это происходит оттого, что он выводит не то любое другое число, которое записано в правильных ответах.

Помогите программисту. Напишите программу, которая по ответу, записанному в тестирующей системе, и по ответу программиста определяет, верно ли решена задача.

Входные данные: Программа получает на вход два числа: ответ, записанный в тестирующей системе и ответ школьника.

Выходные данные: Программа должна вывести YES, если школьник дал верный ответ и NO в противном случае.

Примеры
Входные данные Выходные данные
1 11
-1
YES
2 3
1
NO

Линейное уравнение

Условный оператор

Даны числа a и b. Решите в целых числах уравнение \(ax+b=0\). Выведите все решения этого уравнения, если их число конечно, выведите слово NO, если решений нет, выведите слово INF, если решений бесконечно много.

Входные данные: Вводятся два числа, по одному в строке.
Выходные данные: Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 1
-7
7
2 6
-2
NO

Вычисления по правилу - 3

Условный оператор

Дано четыре целых числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень - отрицательные

Входные данные: с клавиатуры вводится четыре целых числа

Выходные данные: необходимо вывести на экран преобразованные числа (выводить числа в той же последовательности, что и вводимые)

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 3 5 -2 -4 9 25 16 256

Составление условий - 5

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


данное четырехзначное число читается одинаково слева направо и справа налево

ПРИМЕР:
вход: 1221
вывод: 1

ПРИМЕР:
вход: 2727
вывод: 0

Составление условий - 6

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


целое число N является четным двузначным числом

ПРИМЕР:
вход: 12
вывод: 1

ПРИМЕР:
вход: 27
вывод: 0

Входят ли цифры в число

Условный оператор

Дано трехзначное число. Определить входят ли в него цифры 3, 6 или 9
Входные данные: на вход программе подается одно число N \(( 100 <= N <= 999 )\)
Выходные данные: вывести YES, если цифры 3, 6 или 9 входят в число, иначе вывести NO

Примеры

Входные данные Выходные данные
1 359 YES
2 125 NO

Шахматная доска

Условный оператор

Заданы две клетки шахматной доски. Если они покрашены в один цвет, то выведите слово YES, а если в разные цвета – то NO.

Входные данные: Вводятся 4 числа - координаты клеток.

Выходные данные: Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 1
1
2
2
YES
2 1
1
2
3
NO

Первая или вторая цифра больше

Целые числа Условный оператор

Дано двузначное число, у которого цифры различны. 
Написать программу, которая выводит на экран слово first, если первая цифра больше второй, и слово second - если вторая цифра больше первой

Входные данные: с клавиатуры вводится одно число
Выходные данные: выведите на экран слово first или слово second, в зависимости от условия задачи

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 65 first
2 56 second

Максимальная цифра числа

Целые числа Условный оператор

Дано четырехзначное число. Написать программу, которая определяет максимальную цифру числа

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 4731 7

Сколько четверок в числе

Условный оператор Целые числа

Дано трехзначное число. Написать программу, которая определяет сколько раз входит в него цифра 4.

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 473 1

Различные цифры числа

Условный оператор Целые числа

Дано трехзначное число. Написать программу, которая выводит на экран слово YES, если все цифры числа различные и слово NO в противном случае

Пример входных и выходных данных

№ теста Входные данные Выходные данные
1 123 YES
2 112 NO

Точка на координатной плоскости - 1

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).
Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

Примеры
Входные данные Выходные данные
1 1.5 0.25 YES
2 1.5 -0.25 NO

Узник замка Иф

Условный оператор

За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок Иф сложен из кирпичей, размером A×B×C. Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия.

Входные данные: Программа получает на вход числа A, B, C, D, E.
Выходные данные: Программа должна вывести слово YES или NO.

Примеры
Входные данные Выходные данные
1 1
1
1
1
1
YES
2 2
2
2
1
1
NO

Ход Ферзя

Условный оператор

Шахматисты и программисты. Никто еще не проводил статистики о том, сколько программистов умеет хорошо играть в шахматы (хотя бы на уровне первого разряда). Но мы однозначно можем сказать, что любой программист хоть раз пытался написать программу, так или иначе связанную с шахматами. Давайте попробуете и Вы.
Требуется определить, может ли ферзь, стоящий на клетке с указанными координатами (номер строки и номер столбца), побить фигуру, стоящую на другой указанной клетке.

Входные данные: Вводятся четыре числа: координаты ферзя и координаты другой фигуры. Координаты - целые числа в интервале от 1 до 8.
Выходные данные: Требуется вывести слово YES, если ферзь может побить фигуру за 1 ход, в противном случае вывести слово NO
Примеры
Входные данные Выходные данные
1 1
1
8
1
YES
2 3
2
8
3
NO

Точка на координатной плоскости - 3

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

Примеры

Входные данные Выходные данные
1 0. 1. NO
2 0. -1. YES

Точка на координатной плоскости - 4

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.
Примеры

Входные данные Выходные данные
1 -0.5 0.5 YES
2 0.5 -0.5 NO

Точка на координатной плоскости - 5

Условный оператор

Напишите программу, которая определяет, попала ли точка с заданными координатами в заштрихованную область.

Входные данные: Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала -координата, затем – -координата).

Выходные данные: Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.

Примеры
Входные данные Выходные данные
1 -0.5 0. NO
2 0. 0.5 YES

Олимпийские игры

Условный оператор

Всем известно, что в 2012 году прошла Летняя Олимпиада в Лондоне, однако не каждый знаком с историей крупнейших спортивных соревнований. Традиция игр зародилась в Древней Греции, но была забыта по завершении античной эпохи и вновь появилась лишь в конце XIX века благодаря французскому общественному деятелю Пьеру де Кубертену.

С 1896 года вновь проводятся летние Олимпийские игры, а с 1924 — зимние, причём оба вида соревнований проходят раз в четыре года. Первое время зимняя и летняя Олимпиады проводились в один и тот же год, но в конце XX века Международный олимпийский комитет принял решение установить между разными видами Игр двухгодичный перерыв. Таким образом, 1992 год был в последний раз отмечен проведением одновременно летних и зимних Олимпийских игр, в 1994 проводились только зимние, в 1996 — летние, и с тех пор они продолжают чередоваться.

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

Требуется написать программу, которая по заданному году определит, проводились ли в этом году Олимпийские игры и были ли они летними или зимними.

Входные данные: На вход программе подаётся одно натуральное число N (1800 ≤ N ≤ 2014) — номер года.

Выходные данные: Выведите «winter», если в этом году была проведена только зимняя Олимпиада, «summer», если только летняя, «winter summer», если прошли обе олимпиады, и «nothing», если в этот год олимпийских игр не проводилось.

Примеры
Входные данные Выходные данные
1 1896 summer
2 1924 winter summer

Аншлаг!

Условный оператор

В одном из популярных кинотеатров все сеансы проходят с аншлагом, поэтому все места в зале всегда заняты. К сожалению, расстояние между рядами в кинозале маленькое, и зрители, пробираясь перед началом фильма к своим местам, вынуждены спотыкаться о ноги уже сидящих. Заходя в зал, зритель думает, с какой стороны ряда он будет пробираться к своему месту (с левой или с правой), и выбирает сторону так, чтобы споткнуться о меньшее число людей. В случае равенства зритель выбирает ту сторону, к которой его место ближе.

Вася, ярый любитель кино и столь же ярый ненавистник математики, первым купил билет на очередную премьеру. Когда Вася вошёл в зал и сел на своё место, он увидел, что все остальные кресла в его ряду ещё пустуют. Вася точно знал, что к началу сеанса зал заполнится до отказа, а это значило, что с минуты на минуту о его ноги начнут спотыкаться другие кинолюбители, пробирающиеся к своим местам. Несмотря на всю свою нелюбовь к математике, Вася мгновенно оценил, какое максимальное количество человек может спотнуться о его ноги, прежде чем все зрители займут свои места. А вы сможете?

Входные данные: Программа получает на вход два целые числа (по одному в строке) n и k — количество мест в том ряду, где сидит Вася, и номер его места соответственно (1≤k≤n≤50, n — чётно). Места в ряду нумеруются с единицы.

Выходные данные: Программа должна Вывести максимальное количество человек, которое может споткнуться о ноги Васи.
Примеры
Входные данные Выходные данные
1 4
1
1

Олимпиада в Хогвартсе

Условный оператор

В Хогвартсе проходит традиционная ежегодная олимпиада по теории магии среди младшекурсников. Завхозу школы Аргусу Филчу поручили заняться распределением студентов по аудиториям.

Каждый факультет выставил своих лучших учеников на олимпиаду. От Гриффиндора участвует G студентов, от Слизерина S студентов, Пуффендуй представляет H студентов и Когтевран — R студентов. В распоряжении Филча находится M аудиторий. На аудитории наложено особое заклятие расширения, поэтому при необходимости они могут вместить любое количество студентов. При рассадке необходимо учесть, что ученики одного факультета, находящиеся в одной аудитории, могут, воспользовавшись случаем, начать жульничать, обмениваясь идеями по решению задач. Поэтому в любой аудитории количество студентов с одного факультета, попавших в нее, следует свести к минимуму. Назовем рассадку, удовлетворяющую такому требованию, оптимальной.

Помогите посчитать, какое минимальное количество студентов с одного факультета все же придется посадить в одной аудитории даже при оптимальной рассадке.

Входные данные: В первой строке идут четыре целых числа GSH и R (1 ≤ G, S, H, R ≤ 1000) — количество учеников, представляющих каждый из факультетов школы.

Во второй строке идет целое число M (1 ≤ M ≤ 1000) — количество классов в распоряжении у Филча.

Выходные данные: Выведите минимальное количество студентов с одного факультета, которое Филчу придётся посадить в одну аудиторию даже при оптимальной рассадке.
Примеры

Входные данные Выходные данные
1 4 3 4 4
2
2
2 15 14 13 14
3
5

Точка на координатной плоскости - 9

Условный оператор

Даны координаты точки (x, y). Выведите на экран слово YES, если точка попадает в заштрихованную область, в противном случае - выведите NO. Точка, расположенная на границе с заштрихованной областью, считается не попавшей в нее.

Входные данные: На вход программе подаются два вещественных числа - координаты точки (x, y)
Выходные данные: Выведите ответ на задачу

Примеры

Входные данные Выходные данные
1 0.0 1.0 NO
2 1.0 0.5 YES

Точка на координатной плоскости - 10

Условный оператор

Даны координаты точки (x, y). Выведите на экран слово YES, если точка попадает в заштрихованную область, в противном случае - выведите NO. Точка, расположенная на границе с заштрихованной областью, считается не попавшей в нее.

Входные данные: На вход программе подаются два вещественных числа - координаты точки (x, y)
Выходные данные: Выведите ответ на задачу

Примеры

Входные данные Выходные данные
1 0.0 0.0 NO
2 1.0 1.5 YES

Составление условий - 8

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


сумма первых двух цифр заданного четырехзначного числа равна сумме двух его последних цифр

ПРИМЕР:
вход: 1234
вывод: 0

ПРИМЕР:
вход: 1221
вывод: 1

Составление условий - 7

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


квадрат заданного двухзначного числа равен кубу суммы цифр этого числа

ПРИМЕР:
вход: 12
вывод: 0

ПРИМЕР:
вход: 27
вывод: 1

Составление условий - 10

Условный оператор

Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае


данные числа х и у являются координатами точки, лежащей в первой координатной четверти
 
входные данные
на вход подаются два целых числа x и y (-10^5<x,y<10^5)

выходные данные
1 - данные числа х и у являются координатами точки, лежащей в первой координатной четверти
0 - в противном случае