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


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

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

Таблицы

Циклы

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

1

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

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


Входные данные: Вводится одно число - размер таблицы.

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

Размер таблицы - натуральное число, не превосходящее 100.

Примеры
Входные данные Выходные данные
1 4 1 6 11 16

Второй максимум

Циклы

Дано N целых чисел. Найти второй по величине максимальный элемент последовательности (элемент, который бы стоял предпоследним, если бы входные данные отсортировали по неубыванию)
Входные данные:
в первой строке задается число N (\(2<=N<=10^5\))
далее идут N строк, по одному числу в каждой строке
Выходные данные:
выведите второй максимальный элемент

Примеры

Входные данные Выходные данные
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10

Ёлочка

Циклы

Вам требуется нарисовать на экране ёлочку высоты H.

Входные данные: Вводится одно натуральное число H, не превосходящее 20.

Выходные данные: Выведите ёлочку из звёздочек (см. примеры).


Примеры
Входные данные Выходные данные
1 2
 *
***
2 4
   *
  ***
 *****
*******

Кузнечики

Циклы

На прямой тропинке на расстоянии 1 метр друг от друга сидят два кузнечика. Время от времени один из кузнечиков прыгает на несколько сантиметров влево или вправо. Требуется узнать, каково было минимальное расстояние, на которое сближались кузнечики в процессе прыжков. (Расстояние считается только в те моменты, когда оба кузнечика сидят на земле).

Входные данные: В первой строке вводится одно число N (1 <= N <= 100) – общее количество прыжков, а затем N чисел, описывающих прыжки. Модуль числа равен длине прыжка в сантиметрах; число отрицательное, если кузнечик начинал этот прыжок по направлению к другому кузнечику, и положительное – если от другого кузнечика. Числа по модулю не превосходят 100 и все отличны от 0. (Кузнечики могут перепрыгивать друг через друга. Гарантируется, что кузнечики не приземляются друг на друга.)

Выходные данные: Требуется вывести одно число – минимальное расстояние в сантиметрах, на которое сближались кузнечики.

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

Вложенные циклы - 1

Цикл for Цикл while Циклы

Вводятся два числа N и K. Выведите количество чисел из диапазона от 1 до N (включительно) таких, что их сумма цифр делится на K.

Примеры
Входные данные Выходные данные
1 100 3 33
2 22 4 5

Парад

Циклы

В параде принимают участие M военных. Командование парада решило, что наиболее эффектное построение военных – в форме квадрата, то есть число участников построения
должно быть точным квадратом. Но поскольку число M может не быть точным квадратом, разрешается разбить военных на несколько полков, каждый из которых строится в форме
квадрата. Для красоты все полки должны быть одинакового размера, также командование парада хочет, чтобы размер каждого полка был как можно больше. Определите максимально возможный размер полка.
Программа получает на вход одно целое положительное число M, не превосходящее 2×109, – количество участников парад. Программа должна вывести одно число – максимально возможный размер полка.

Ввод Вывод
180 36

Найти карточку

Циклы

Для настольной игры используются карточки с номерами от 1 до N (N – натуральное число, не превышающее 106). Одна карточка потерялась. Найдите ее. 

Входные данные: Дано N, далее N-1 номеров оставшихся карточек.

Выходные данные: Требуется вывести номер потерянной карточки.

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

Клад

Циклы Строки

Путь к кладу задан в виде указаний, какое количество шагов нужно пройти в одном из четырёх направлений: север (N), юг (S), запад (W), восток (E). Весь маршрут записан в виде строки, содержащей последовательность из чисел и следующих за числами букв, указывающих направление перемещения. Например, строка «7N5E2S3E» означает "пройти шагов на север, 5 шагов на восток, 2 шага на юг, 3 шага на восток». В маршруте может быть много команд перемещения, поэтому каждый такой маршрут можно сократить.
Например, ранее приведённый маршрут можно сократить до «5N8E". По данному маршруту до клада сократите его до строки минимальной длины.

Программа получает на вход строку, состоящую из целых неотрицательных чисел, не превосходящих 107 каждое, и одной буквы (N, S, W, E ) следующей за каждым
числом. Других символов (в том числе пробелов), кроме цифр и букв направлений, в строке нет. Длина строки не превосходит 250 символов. Гарантируется, что начальная
и конечная точки маршрута различаются.
Программа должна вывести маршрут, ведущий в ту же точку, записанный в таком же виде, как во входных данных, используя минимальное число символов. Если ответов
несколько, программа должна вывести один (любой) из них.
 

Ввод Вывод Примечание
7N5E2S3E 5N8E Правильным ответом будет также «8E5N»
10N30W20N 30N30W Правильным ответом будет также «30W30N»