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


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

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

Заполнение массива - 2

Одномерные массивы

В первой строке дано неотрицательное число N- количество элементов массива (N<=100). 
Во второй строке дано число b

Заполнить массив элементами равными частному от деления индекса элемента массива на число b. Элементы массива дробные числа


Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 5
3
0.000000 0.333333 0.666667 1.000000 1.333333 

Прыжки с переворотом

Одномерные массивы

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

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

Жили и тренировались падаваны не только в храме, но и в специальных академиях и звездных кораблях.

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

Пронумеруем всех падаванов в шеренге натуральными числами 1, 2, 3, ..., N (1 <= N <= 1000).
Напишите программу, которая определит итоговое расположение падаванов после двух прыжков с переворотом, сначала прыжки с переворотом делаются от падавана с номером A до падавана с номером B, а затем от C до D (A < BC < D; 1 <= ABCD <= N).


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

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

Примеры
Входные данные Выходные данные
1 9 2 5 6 9 1 5 4 3 2 9 8 7 6
2 9 3 6 5 8 1 2 6 5 8 7 3 4 9

Юнлинги

Одномерные массивы

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

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

Она должна выводить пять оценок, которые поставили юнлинги, не меняя их порядка, а затем их сумму, и при этом брать в скобки те оценки, которые не учитываются при расчете суммы

Входные данные: На вход подается 5 натуральных чисел от 1 до 20, разделенных пробелом.
Выходные данные: Выведите те же числа в том же порядке, взяв в скобки минимальное (а если их несколько – самое левое из них) и максимальное (а если их несколько – самое правое из них) число, а также сумму всех чисел, не взятых в скобки. Все числа (включая сумму) должны быть напечатаны в одной строке и разделены одним пробелом (внутри скобок пробелов быть не должно). Перед суммой должен стоять знак равенства, отделенный слева и справа одним пробелом. Порядок оценок должен быть такой же, как и во входных данных.

Примеры
Входные данные Выходные данные
1 1 2 3 4 5 (1) 2 3 4 (5) = 9

Импульс силы

Одномерные массивы

В своих действиях джедаи используют Силу. Она описывается как энергетическое поле, которое создают все живые существа, которое связывает воедино все в галактике. По сути, это аналог китайской концепции ци. Есть у Силы и научная основа: в процессе «клеточного дыхания» происходят химические реакции, генерирующие электрический импульс, хоть и микроскопический.

Энергетический импульс можно измерить числом от 1 до 9. У каждого джедая в зависимости от его силы и опыта свой энергетический импульс. Энакин Скайуокер решил подсчитать, сколько джедаев с определенным энергетическим импульсом.
Напишите программу, которая автоматизирует данный подсчет.
На вход программы будет подаваться последовательность чисел, заканчивающаяся нулем (все числа вводятся в одной строке через пробел). Всего будет введено не более 100000 чисел. Подсчитайте в этой последовательности количество единиц, количество двоек, количество троек и т.д. и выдайте результат. В выходных данных всегда должно быть 9 чисел.

Примеры

Входные данные Выходные данные
1 1 1 4 1 5 8 6 3 5 1 0 4 0 1 1 2 1 0 1 0

Заполнение массива

Одномерные массивы

В первой строке дано неотрицательное число N- количество элементов массива (N<=100)
Во второй строке даны два числа: число А - значение первого элемента массива, число p - разница между следующим и предыдущим элементом массива (арифметическая прогрессия)
Заполнить массив элементами данной прогрессии и вывести его на экран

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

№ теста Входные данные Выходные данные
1 5
7 3
7 10 13 16 19 

Оценки судей

Одномерные массивы

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

Известны оценки, выставленные восемью судьями одному из участников соревнований. Составить программу для расчета оценки, которая пойдет в зачет этому спортсмену (с точностью до 3-х знаков после запятой).

Входные данные: 
В первой строке идут 8 чисел через пробел (каждое число от 0 до 10)

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

Пример:
Входные данные

3 9 7 8 9 5 7 10
Выходные данные
7.500

Самая толстая книга

Одномерные массивы

В массиве хранится информация о количестве страниц в каждой из 100 книг. Все страницы имеют одинаковую толщиную. Определить количество страниц в самой толстой книге

Роза ветров

Одномерные массивы

При выборе места строительства жилого комплекса при металлургическом комбинате необходимо учитывать "розу ветров" (следует расположить жилой комплекс так, чтобы частота ветра со стороны металлургического комбината была бы минимальной). Для этого в течении года проводилась регистрация направления ветра в районе строительства. Данные представлены в виде массива, в котором направление ветра ветра за каждый день (365) кодируется следующим образом: 
1 - северный (N),
2 - южный (S)
3 - восточный (E)
4 - западный (W)
5 - северо-западный (NW)
6 - северо - восточный (NE)
7 - юго-западный (SW)
8 - юго-восточный (SE).
Определить, как должен быть расположен жилой комплекс по отношению к комбинату

Входные данные: 
В первой строке подается 365 значений от 1 до 8 (направление ветра)

Выходные данные:
Вывести соответствующие буквы (аббревиатуру - смотри список выше), с какой стороны следует построить жилой комплекс
 

Повернем массив

Одномерные массивы

Дан квадратный массив. Поверните его на 90 градусов по часовой стрелке. Результат запишите в этот же массив, вспомогательный массив использовать нельзя.

Входные данные: Вводятся одно число n - размер квадратного массива, а затем сам массив размером nхn
Выходные данные: Выведите массив, получившийся после преобразования

Примеры

Входные данные Выходные данные
1 3
1 2 3
4 5 6
7 8 9
7 4 1
8 5 2
9 6 3

Кегельбан

Одномерные массивы

Хотите стать джедаем? Тогда приводим для вас кодекс рыцарей-миротворцев:

  • Нет волнения — есть покой
  • Нет невежества — есть знание
  • Нет страсти — есть безмятежность
  • Нет хаоса — есть гармония
  • Нет смерти — есть Сила
Кроме постоянных тренировок падаваны все таки имеют время на отдых и некоторые развлечения. Одно из любимых это игра в Кегельбан

N кеглей выставляют в один ряд, занумеровав их слева направо числами от 1 до N. Затем по этому ряду бросают K шаров, при этом i-й шар сбивает все кегли с номерами от li до ri включительно.
Ваша задача определить, какие кегли остались стоять на месте.

Входные данные:  Программа получает на вход количество кеглей N и количество бросков K. Далее идет K пар чисел li, ri, при этом 1<=li<=ri<=N.

Выходные данные: Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я кегля осталась стоять, или “.”, если j-я кегля была сбита.

Примеры
Входные данные Выходные данные
1 10 3
8 10
2 5
3 6
I.....I...

Заполнение массива - 3

Одномерные массивы

В первой строке дано неотрицательное число N- количество элементов массива (1<=N<=100)
Во второй строке даны два числа: число А - значение первого элемента массива, число p - частное от деления текущего элемента массива на следующий (геометрическая прогрессия) - p>0
Элементы массива дробные числа
Заполнить массив элементами данной прогрессии и вывести его на экран (все элементы выводятся на экран с точносью до 6 знаков после запятой)

ОБРАТИТЕ ВНИМАНИЕ: В задаче должен использоваться именно массив, а не просто вывод чисел на экран. Задача будет проверена вручную, после автоматической проверки!

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

№ теста Входные данные Выходные данные
1 5
7 3
7.000000 2.333333 0.777778 0.259259 0.086420 
 

Приращение силы

Одномерные массивы

«Да пребудет с тобой Сила» — знаменитая фраза, которую наверняка слышали даже те, кто не интересуется вселенной «Звёздных войн». 
Способность индивидуума управлять Силой напрямую зависит от уровня мидихлориан в его организме.

Пусть мы знаем силу каждого из N джедаев: A1,...,AN.
Обозначим максимальное и минимальное значение силы как max(A) и min(A) соответственно.
Вычислим общую силу всех джедаев S, S=A1+A2+…+AN.
Заменим силу каждого джедая на разницу S и этого элемента: Ai:=S-Ai, 1<=i<=N.
Такое преобразование назовем Приращением силы.

Напишите программу, которая по массиву B, полученному в результате K–кратного Приращения силы к некоторому списку сил джедаев, вычислит разность max(A)-min(A).
Входные данные: Первая строка содержит целые числа N и K, где N — количество элементов массива B (2 <= N <= 10000), а K — количество применений операции Приращения силы к начальному массиву A, 1 <= K <= 100. 
Вторая строка содержит N элементов массива B. Элементы массива B — целые числа, принадлежащие диапазону от -2 000 000 000 до 2 000 000 000.
Выходные данные: 
Единственная строка выходного файла должна содержать целое число - разность max(A) и min(A).

Примеры
Входные данные Выходные данные
1 4 2
45 52 47 46
7

Рыцари-джедаи

Одномерные массивы

«Звездные войны» - одна из самых известных фантастических саг, снятая Джорджем Лукасом, которая включает в себя 6 фильмов. Кроме фильмов снято уже огромное количество сериалов, мультфильмов и игр.
Главные герои саги  -  рыцари-джедаи, которые управляют сверхъестественной силой и ловко орудуют световыми мечами.
Во вселенной «Звездных войн» джедаи возникли примерно за 25 тысяч лет до событий, описываемых в классической кинотрилогии. Они – звездные рыцари, защитники мира и справедливости в «очень далекой галактике». Свои способности они используют для защиты себя и других, но никогда – для нападения. Суть их жизни – в служении другим. Суть их пути – самосовершенствование через познание и каждодневную тренировку.

Для эффективности тренировки Верховный Совет придумал следующее. чтобы как-то зарегулировать планы тренировок джедаев, велел он указать определенные дни, и в эти дни устраивать боевые тренировки, а в остальные дни медитировать.
Собрал Верховный Совет всех Учителей и приказал подготовить список дней, в которые можно устраивать боевые тренировки. Список необходимо было предоставить на N дней вперед. 

Но вот незадача: каждый Учитель подготовил список, да еще и с указанием какой вид боевой тренировки проводить. И у всех Учителей тренировки оказались важные, но у всех — разные! Верховный Совет решил объединить предложения всех Учителей! Если какой-то день есть в списке хотя бы одного Учителя, то в этот день проводится боевая тренировка.

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

Пусть, например, четыре Учителя сразу предложили сделать 5-й день днем  боевой  тренировки. Тогда перенесем три из этих четырех дней 6, 7 и 8 — так, что днями боевой тренировки будут дни с 5 по 8 включительно. А если оказывается, что, например, день 7 тоже предложен в качестве боевой тренировки кем-нибудь из Учителей, то перенесем этот день еще дальше — на день 9.

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


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

В первой строке входного файла находится одно число N — количество дней, на которые Верховный Совет хочет произвести планировку тренировок.

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

Гарантируется, что 1<=N<=100000, и что сумма всех чисел во второй строке входного файла не превосходит 100000.


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

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

Символы разделяйте пробелами.


Примеры
Входные данные Выходные данные
1 5
0 3 0 0 0
- + + + -
2 10
0 4 0 2 0 0 0 0 1 0
- + + + + + + - + -
3 3
0 3 0
- + + +