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

280 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Даны действительные числа a, b, c. Найдите все решения квадратного уравнения ax2 + bx + c = 0.

Входные данные
Даны три действительных числа, a не равно 0.

Выходные данные
Выведите два действительных числа в одной строке через один пробел в любом порядке, если уравнение имеет два корня, одно действительное число – при наличии одного корня. При отсутствии действительных корней ничего выводить не нужно.
Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматный слон попасть с первой клетки на вторую за один ход.

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

Выходные данные
Программа должна вывести YES, если из первой клетки ходом слона можно попасть во вторую, или NO в противном случае.
Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматная ладья попасть с первой клетки на вторую за один ход.

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

Выходные данные
Программа должна вывести YES, если из первой клетки ходом ладьи можно попасть во вторую, или NO в противном случае.
Входные данные
Даны три натуральных числа a, b, c, записанные в отдельных строках. Определите, существует ли невырожденный треугольник с такими сторонами.

Выходные данные
Если треугольник существует, выведите строку YES, иначе выведите строку NO.
Входные данные
Даны три целых числа, каждое записано в отдельной строке.

Выходные данные
Выведите наибольшее из данных чисел (программа должна вывести ровно одно целое число).
Входные данные
Даны два целых числа, каждое записано в отдельной строке.

Выходные данные
Программа должна вывести число 1, если первое число больше второго, число 2, если второе больше первого, или число 0, если они равны.

В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого?

Входные данные
Вводится число k (целое,положительное)

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

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

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

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

Формат входных данных
Вводятся два целых числа \(K\), \(M\) (\(1 \le K \le 100\), \(1 \le M \le 100\)) — количество начинок в пицце и количество человек в компании соответственно.

Формат выходных данных
Выведите количество человек, которым достанется более одной начинки в наилучшем случае.


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

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

Коля любит рисовать картинки из звездочек. Сегодня он решил вывести \(n\) строк, \(k\)-я из которых должна содержать \(k^2\) звездочек.

Но потом Коля понял, что выводить слишком много звездочек плохо. Поэтому он решил, что если в очередной строке надо вывести больше \(100\) звездочек, то он выведет в этой строке только \(100\) звездочек, а затем выведет три точки.

Помогите Коле реализовать его план.

Формат входных данных
На вход подается одно целое число \(n\) (\(1 \le n \le 100\)).

Формат выходных данных
Выведите \(n\) строк в соответствии с планом Коли. Не выводите пробелы.

 

Миша планирует сделать новый сайт для проведения олимпиад по информатике. Он планирует проводить соревнования в трех дивизионах, чем меньше номер дивизиона, тем задачи в нем труднее.

Для того, чтобы определить, какой участник может участвовать в каком дивизионе, планируется использовать рейтинг. Рейтинг каждого участника — целое число от \(0\) до \(5000\).

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

  • Участники с рейтингом от \(0\) до \(1600\) имеют в качестве базового дивизиона третий.

  • Участники с рейтингом от \(1601\) до \(1900\) имеют в качестве базового дивизиона второй.

  • Участники с рейтингом более \(1900\) имеют в качестве базового дивизиона первый.

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

  • Если соревнование проводится в базовом дивизионе участника, он участвует в своем дивизионе.

  • Иначе участник может выбрать, в каком из доступных дивизионов он будет участвовать.

  • При этом если рейтинг участника выше, чем рейтинг всех участников, для которых базовым является дивизион, в котором он участвует, он участвует вне конкурса.

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

Формат входных данных
Первая строка ввода содержит целое число \(r\) "— рейтинг участника (\(0 \le r \le 5000\)).

Вторая строка ввода содержит от одного до трех различных символов. Каждый из этих символов равен 1, 2 или 3. Символы, которые встречаются во второй строке, показывают, в каких дивизионах проводится соревнование. Дивизионы перечислены в порядке возрастания номера, без пробелов.

Формат выходных данных
Выведите одну или более строк. Для каждого дивизиона, в котором участник сможет поучаствовать, выведите номер этого дивизиона. Если участник может принять участие в этом дивизионе только вне конкурса, выведите после номера дивизиона символ <<*>> (звездочка). Выводите дивизионы в порядке возрастания номера.

В этой задаче 35 тестов, каждый тест оценивается независимо, некоторые тесты оцениваются в 2, а некоторые в 3 балла.

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

Во втором примере участник со вторым базовым дивизионом может участвовать и в первом и в третьем дивизионе, но в третьем дивизионе его участие будет вне конкурса.

Магистр Максимус отправился на поиски волшебных реликвий в глубины древнего храма. В храме находятся два вида артефактов - драгоценные камни и мистические амулеты. Камней A штук, а амулетов - B штук. Для того, чтобы вынести артефакты из храма, Максимус использует специальные контейнеры, в каждый из которых можно поместить только три артефакта. При этом в каждом контейнере должны быть артефакты обоих видов - либо два камня и один амулет, либо один камень и два амулета.
Помогите Магистру Максимусу определить, можно ли упаковать все имеющиеся артефакты в контейнеры, и если да, то предложить подходящий способ размещения артефактов по контейнерам.


Входные данные
Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 <= A <= 109, 1 <= B <= 109.

Выходные данные
Если можно разложить все артефакты по контейнерам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству контейнеров, в которых лежит два драгоценных камня и один амулет. Второе число равно количеству контейнеров, в которых лежит один драгоценный камень и два амулета. 
Если разложить все артефакты по контейнерам нужным способом нельзя, программа должна вывести одно число -1.
 
Примеры
Входные данные Выходные данные
1 4
5
1 2
2 5
3
-1
На стройку многоэтажного дома завезли инструменты. Прорабу необходимо доставить инструменты с этажа A на этаж B. Для вызова подъемника на всех этажах строящегося здания, кроме первого и последнего, есть две кнопки. Кнопка вниз перемещает подъемник вниз, кнока вверх - перемещает вверх. Когда прораб нажал нужную кнопку, подъемник находился на этаже С и вез груз на этаж D. Работает подъемник следующим образом:
  •  если подъемник проезжает мимо этажа, на котором нажата кнопка вызова, и, при этом,  движется в подходящем направлении, то подъемник останавливается и в него можно зайти.
Подъемник перемещается между соседними этажами за одну единицу времени, также одну единицу времени занимает остановка подъемника на этаже для загрузки или разгрузки.
 
Определите сколько времени необходимо прорабу, чтобы доставить инструменты до этажа B, при условии, что никто больше не будет вызывать подъемник.


Входные данные
Первая строка ввода содержит четыре целых числа A, B, C и D, разделенных одним пробелом (1 <= A, B, C, D <= 20, A≠B, C≠D, A≠C).
 

Выходные данные
Вывести одно целое число – количество единиц времени, которое пройдет с момента вызова подъемника до момента, когда инструменты разгрузят из подъемника на этаже B.
 
 
Примеры
Входные данные Выходные данные
1 3 9 2 5 10
2 3 9 5 2 13

Примечание
Пояснение к примеру 1
Подъемник за 1 единицу времени доедет до 3-го этажа, остановится на 1 единицу времени, чтобы прораб смог погрузить инструменты на подъемник, затем через 2 единицы времени доедет до 5-го этажа и остановится на 1 единицу времени для разгрузки груза, через 4 единицы времени подъемник довезет инструменты до 9-го этажа, и через 1 единицу времени инструменты рагрузят.
Трое волшебников из округа Феймарч защищают свою землю от темных сил. Каждый волшебник обладает своей собственной магической силой. Первый волшебник имеет магическую силу равную MP1, второй – MP2, третий – MP3. 
Три волшебника смогут победить темные силы, если как минимум у двоих из них сила будет не меньше, чем у темных сил.
Определите, какую максимальную силу могут выдержать эти волшебники, чтобы успешно справиться с темными силами.

Входные данные
Программа получает на вход три целых положительных числа MP1, MP2MP3, не превосходящие 2×109, – магические силы каждого из волшебников. 

Выходные данные
Программа должна вывести одно число – максимальную силу, которую они смогут победить.
 
 
Примеры
Входные данные Выходные данные
1 30
10
20
20
Трое волшебников из округа Феймарч защищают свою землю от темных сил. Каждый волшебник обладает своей собственной магической силой. Первый волшебник имеет магическую силу равную MP1, второй – MP2, третий – MP3. 
Три волшебника смогут победить темные силы, если как минимум у двоих из них сила будет не меньше, чем у темных сил.
Определите, какую максимальную силу могут выдержать эти волшебники, чтобы успешно справиться с темными силами.

Входные данные
Программа получает на вход три целых положительных числа MP1, MP2MP3, не превосходящие 2×109, – магические силы каждого из волшебников. 

Выходные данные
Программа должна вывести одно число – максимальную силу, которую они смогут победить.
 
 
Примеры
Входные данные Выходные данные
1 30
10
20
20

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



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

Ограничения:

  • имя состоит только из английских букв, различного регистра
  • 1900 <= год рождения <= 2023


Выходные данные
Выведите в первой строке имя самого старшего из друзей. Во второй строке выведите одно число, на сколько лет он старше самого младщего из друзей. 
 
 
Примеры
Входные данные Выходные данные
1 Alex 2010
Vika 2009
Max 2014
Liza 2012
Vika
5

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

Однажды молодой оруженосец по имени Леон решил узнать все секреты прошлого  и пошел к башне.  Маг Эльдриг дал оруженосцу пергамент, на котором были написаны координаты одной клетки шахматной доски. Эльдриг сказал, что если он сумеет не глядя на доску определить какой цвет у данной клетки шахматной доски, то ему откроются все секреты прошлого!

Леон не был так помешан на шахматах, но все же смог определить цвет клетки правильно! Сможете ли это сделать и вы? 

Шахматная доска выглядит таким образом


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

Ограничения

  • длина строки == 2
  • 'a' <= первый символ строки <= 'h'
  • '1' <= второй символ строки <= '8'

Формат выходных данных
Выведите слово white, если клетка белого цвета и black - если черного.
Вам дали сумму денег в рублях и попросили разделить эту сумму между всеми детьми. Назовем Счастливчиками тех детей, которые получат ровно по 8 рублей при дележе денег по следующим правилам:
  • Все деньги должны быть распределены.
  • Каждый должен получить как минимум 1 рубль.
  • Никто не должен получить 4 рубля (это совсем не счастливая сумма).
Определите максимальное количество Счастливчиков, если вы разделите деньги в соответствии с вышеупомянутыми правилами. Если нет способа разделить деньги, верните -1.

Входные данные
В первой строке записана сумма денег (money - целое число), которую вам дали. Вторая строка содержит количество детей (children - целое число), между которыми необходимо разделить данную сумму.
 

Ограничения

  • 1 <= money <= 200
  • 2 <= children <= 30

Выходные данные
Выведите максимальное количество Счастливчиков.
 
 
Примеры
Входные данные Выходные данные
1 20
3
1
2 16
2
2
Даны две строки. Определите строку с наибольшей длиной и выведите на экран длину этой строки. Если обе строки имеют одинаковую длину, то выведите -1.


Входные данные
В первой строке вводится первая строка.
Во второй строке вводится вторая строка.

Выходные данные
Выведите ответ на задачу.

 
Примеры
Входные данные Выходные данные
1 Hello, world!
Good day!
12
2 Hi!
And
-1
Дано двузначное число n и число a. Определить:
а) является ли сумма его цифр двузначным числом (вывести YES или NO в первой строке);
б) больше ли числа a сумма цифр введенного числа n (вывести YES или NO во второй строке).

Входные данные
В первой строке вводится число n (10 <= n <= 99), во второй - число a (0 < a <= 100).

Выходные данные
Вывести ответы на вопросы задачи, каждый на отдельной строке, в верхнем регистре. В первой строке ответ на первый вопрос, во второй строке - ответ на второй вопрос.
 
Примеры
Входные данные Выходные данные
1 25
7
NO
NO
Поделиться
Класснуть