Язык программирования

1 719 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Дан квадратный двумерный массив размером nхn и число k. Выведите элементы k-й по счету диагонали ниже главной диагонали (т.е. если k=1, то нужно вывести элементы первой диагонали, лежащей ниже главной, если k=2, то второй диагонали и т.д.).

Значение k может быть отрицательным, например, если k=−1, то нужно вывести значение первой диагонали, лежащей выше главной. Если k=0, то нужно вывести элементы главной диагонали.
 

Формат входных данных
Программа получает на вход число n (n <= 10), затем идут элементы массива  n строк по n символов в каждой строке, затем с новой строки, число k (все элементы и значение k по модулю не больше 100).
 

Формат выходных данных
Элементы k-й по счету диагонали ниже главной диагонали, через пробел, в одной строке.
Дано число n и двумерный массив размером nхn. Проверьте, является ли этот двумерный массив симметричным относительно главной диагонали. Выведите слово “YES”, если двумерный массив симметричный, и слово “NO” - в противном случае.

Формат входных данных
В первой строке задается число n - размер двумерного массива (n <= 10). Далее идут n строк по n чисел в каждой - элементы двумерного массива.

Формат выходных данных
Выведите на экран слово "YES", если массив симметричен, или "NO" - в противном случае

Дано число n. Создайте массив размером nхn и заполните его по следующему правилу:

Числа на диагонали, идущей из правого верхнего в левый нижний угол, равны 1.
Числа, стоящие выше этой диагонали, равны 0.
Числа, стоящие ниже этой диагонали, равны 2.

Полученный массив выведите на экран. Числа в строке разделяйте одним пробелом.

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

Формат выходных данных
Выведите на экран, заполненную матрицу.
Дано число n. Создайте двумерный массив размером nхn и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2 и т.д.

Формат входных данных
На вход подается одно единственное число n (n<=10).

Формат выходных данных
Выведите на экран заполненную матрицу.
На вход программе подаются два целых числа n, m, каждое в отдельной строке \(0<n<=12, 0<=m<60\) , указывающие момент времени "n часов m минут". Определите наименьшее число полных минут, которое должно пройти до того момента, когда часовая и минутная стрелки ни циферблате совпадут, не обязательно на каком-то делении. Вещественную арифметику не использовать.

Задачу необходимо решить без использования условных операторов (в том числе без тернарного оператора ?: в С++) и\или циклов. Кроме того, нельзя использовать операции сравнения и логический (булевский) тип данных.

Примеры
Входные данные Выходные данные
1 2
50
26
2 3
0
16

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

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

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


Примеры
Входные данные Выходные данные
1 2
 *
***
2 4
   *
  ***
 *****
*******
✓ 97✗ 122700средняяВойти и решать

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

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

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

Примеры
Входные данные Выходные данные
1 5
1
2
3
4
5
2 4
3
2
4
1
✓ 107✗ 244600лёгкаяВойти и решать

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

Формат входных данных
В первой строке записаны, через пробел, размеры матрицы: количество строк N и количество столбцов M (1<= N, M <= 100). Далее идут  N строк, в каждой записано по M натуральных чисел, разделённых пробелами - элементы матрицы.
 

Формат выходных данных
Программа должна вывести все столбцы, в которых есть элемент, равный максимальному элементу матрицы. Каждый столбец выводится в одну строку, элементы разделяются пробелами. Столбцы должны следовать в том порядке, в котором они стоят в матрице.

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

Формат входных данных
В первой строке записаны, через пробел, размеры матрицы: количество строк N и количество столбцов M (1 <= N, M <= 100). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами. Затем в двух разных строках вводятся числа K и R .
 

Формат выходных данных
Программа должны вывести одно число – количество K -значных чисел, сумма цифр каждого из которых кратна R .

Напишите программу, которая находит минимальный и максимальный элементы в матрице. Если в матрице есть несколько одинаковых минимальных (максимальных) элементов, нужно найти индексы первого такого элемента в порядке обхода по строкам: слева направо, сверху вниз.
 

Формат входных данных
В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M (1 <= N, M <= 100). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.


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

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

Формат входных данных
В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M (1<=N, M <= 100). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами. В последней строке записано целое число K.
 

Формат выходных данных
Программа должна вывести количество элементов матрицы, равных K.

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

Пусть мы знаем силу каждого из N джедаев: A1,...,AN.
Обозначим максимальное и минимальное значение силы, как max(A) и min(A), соответственно.
Вычислим общую силу всех джедаев SS=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

Хотите стать джедаем? Тогда приводим для вас кодекс рыцарей-миротворцев:
Нет волнения — есть покой
Нет невежества — есть знание
Нет страсти — есть безмятежность
Нет хаоса — есть гармония
Нет смерти — есть Сила

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

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

Входные данные 
Программа получает на вход количество кеглей N (1<=N<=100) и количество бросков K (1<=K<=10) Далее идет K пар чисел liri, при этом \(1<=l_i<=r_i<=N\).

Выходные данные 
Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я кегля осталась стоять, или “.”, если j-я кегля была сбита.
 
Пример
Входные данные Выходные данные
1 10 3
8 10
2 5
3 6
I.....I...
С группой юнлингов занимается один джедай, но когда они переходят в ранг падаванов, то к ним прикрепляется, индивидуально, один мастер-джедай. Заметное отличие падавана - это косичка. Она заплеталась за правым ухом, а остальные волосы были аккуратно уложены.

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

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

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

Пронумеруем всех падаванов в шеренге натуральными числами 1, 2, 3, ..., N (\(1 <= N <= 1000\)).
Напишите программу, которая определит итоговое расположение падаванов после двух прыжков с переворотом. Сначала прыжки с переворотом делаются от падавана с номером A до падавана с номером B, а затем от C до D (\(A<B\)\(C < D\); \(1 <= A, B, C, D <= 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
«Звездные войны» - одна из самых известных фантастических саг, снятая Джорджем Лукасом, которая включает в себя 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
- + + +

Всем известно, что Цезарь пользовался иногда тайнописью, т. е. неким шифром, изобретенным им самим.
Иногда, чтобы сократить время написания, Цезарь использовал упаковку, принцип которой заключается в удалении повторяющихся букв и замены их на числа, определяющих количество повторений.
Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку AAAABCCCCCDDDD. Данная строка может быть представлена как 4AB5C4D.
Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.
 

Входные данные
Входные данные содержат одну упакованную строку. В строке могут встречаться только конструкции вида nA, где n — количество повторений символа (целое число от 2 до 99), а A — заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.

Выходные данные
Выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).
 
Примеры
Входные данные Выходные данные
1 ABC ABC
2 O2A3O2AO OAAOOOAAO
3 A2B3C4D5E6F7G ABBCCCDDDDEEEEEFFFFFFGGGGGGG
✓ 932✗ 3 913700средняяВойти и решать

Ученики, посещавшие школы в Древнем Риме решали на занятиях различные задачи. Вот одна из задач:

101=1

8181515=4

1111112=0

8888888=14

1010101=3

7000007=?

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


Входные данные 
Единственное неотрицательное число x, не превышающее 101001.

Выходные данные
Выведите n.


Примеры
Входные данные Выходные данные
1 689 4
✓ 1 346✗ 1 616500лёгкаяВойти и решать

Избрав путь политика и полководца, Цезарь имел немного времени для творческой работы, однако написал сочинения разных жанров: эпическую поэму "Геркулес", трагедию "Царь Эдип", поэму "Путешествие", "Записки о галльской войне" и "Записки о гражданской войне". Были изданы сборники его сентенций, речей, писем. Кроме того, великий полководец интересовался филологией.

Отвлекшись от написания поэмы, Цезарь записал одну под другой две строчки и задумался. Затем он посмотрел на написанные строчки и понял, что первая строка (S) может содержать в себе несколько раз вторую строку (T). Гай Юлий Цезарь решил подсчитать все вхождения строки T в строку S. Помогите ему, напишите соответствующую программу.


Входные данные
Первые две строки входных данных содержат строки S  и T, соответственно. Длины строк больше 0 и меньше 50000, строки содержат только строчные латинские буквы.

Выходные данные
Выведите номера символов, начиная с которых строка T входит в строку S, в порядке возрастания (по одному значению в строке).
 
Примеры
Входные данные Выходные данные
1 ababbababa
aba
0
5
7
✓ 1 345✗ 2 201500лёгкаяВойти и решать
Поделиться
Класснуть