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

565 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
В новом датацентре «Кибер-Облако» серверы размещаются в стойках, которые расположены рядами. Ряды пронумерованы натуральными числами. Слоты в каждом ряду также пронумерованы натуральными числами начиная с единицы.

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

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

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

Гарантируется, что существует хотя бы один ряд, удовлетворяющий условию.

Формат входных данных
В первой строке находится число N — количество установленных серверов (натуральное число, не превышающее 20000).

Каждая из следующих N строк содержит два натуральных числа, не превышающих 10000:
- номер ряда
- номер слота в этом ряду

Формат выходных данных

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

Когда гном получает N монет:
1. Если N = 0, гном грустит и ничего не делает
2. Если N = 1, гном оставляет монету себе и кричит "МОЁ!"
3. Если N > 1:
   - Гном берёт себе 1 монету и кричит "МОЁ!"
   - Остальные (N-1) монет делит пополам
   - Левую половину (N-1)/2 отдаёт левому ученику-гному
   - Правую половину (N-1) - (N-1)/2 отдаёт правому ученику-гному
   - Каждый ученик делает то же самое по традиции

Подсчитайте, сколько раз прозвучит крик "МОЁ!" при делении N монет.

Формат входных данных
Одно число N (0 ≤ N ≤ 10^9) - начальное количество монет.

Формат выходных данных
Одно число - сколько раз прозвучит "МОЁ!"
 
В университетской столовой осталось K порций борща. В очереди стоят студенты, каждый хочет съесть определённое количество порций (голодные студенты бывают!).

Студент подходит к раздаче:
- Если борща хватает на его запрос - он получает всё и уходит СЧАСТЛИВЫМ
- Если борща осталось меньше, но хоть что-то есть - забирает остатки и уходит ГОЛОДНЫМ  
- Если борща совсем нет - уходит ЗЛЫМ

После обслуживания всех студентов повар хочет знать:
1. Сколько студентов ушли СЧАСТЛИВЫМИ
2. Сколько студентов ушли ГОЛОДНЫМИ
3. Сколько студентов ушли ЗЛЫМИ
4. Сколько порций борща осталось

Пояснение к примеру
- Было 10 порций
- Студент 1 хочет 3: получает 3, осталось 7 (СЧАСТЛИВ)
- Студент 2 хочет 5: получает 5, осталось 2 (СЧАСТЛИВ)  
- Студент 3 хочет 4: получает только 2, осталось 0 (ГОЛОДЕН)
- Студент 4 хочет 2: борща нет (ЗОЛ)
- Итого: 2 счастливых, 1 голодный, 1 злой, 0 остаток

 
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести количество локальных максимумов. Элемент является локальным максимумом, если он строго больше всех своих соседей (соседями считаются элементы слева, справа, сверху и снизу, если они существуют).
Программа получает на вход размер квадратной матрицы n, затем элементы матрицы (n строк по n чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму элементов, расположенных выше главной диагонали (элементы, где номер столбца больше номера строки при нумерации с 0).
Программа получает на вход размер квадратной матрицы n, затем элементы матрицы (n строк по n чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму элементов побочной диагонали (элементы, где сумма номера строки и номера столбца равна n+1 при нумерации с 1).
Программа получает на вход размер квадратной матрицы n, затем элементы матрицы (n строк по n чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму элементов главной диагонали (элементы, где номер строки равен номеру столбца).
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести n чисел: минимальный элемент в каждой строке (каждое число на отдельной строке).
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести максимальный элемент в матрице.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму всех элементов матрицы.
Из большой фотографии нужно вырезать прямоугольную область для аватарки. Программа получает на вход размеры исходной фотографии n и m, затем n строк по m чисел - пиксели, затем координаты вырезаемой области: r1, c1, r2, c2 (номера строк и столбцов начальной и конечной точек, нумерация с 1, включительно). Программа должна вывести вырезанную область: сначала её размеры (количество пикселей: по строкам и по столбцам через пробел), затем сами пиксели вырезанной части. Значения пикселей в вырезанной части выводятся построчно через пробел.
Детектор границ помогает найти контуры объектов на фото. Граница - это место, где яркость резко меняется. Программа получает на вход размеры изображения n и m (2<=n,m<=10), затем n строк по m чисел - яркость пикселей, затем порог чувствительности T. Программа должна вывести карту границ: n строк по m чисел (0 или 1). Пиксель является границей (выводим 1), если разница по модулю между ним и хотя бы одним из соседей (сверху, снизу, слева, справа) больше или равна T. Иначе выводим 0. Для крайних пикселей проверяем только существующих соседей. Пиксели в одной строке выводить через один пробел.
Фотография получилась блёклой! Нужно увеличить контраст: тёмные пиксели сделать ещё темнее, а светлые - ещё светлее. Программа получает на вход размеры фото n и m, затем n строк по m чисел - яркость пикселей (от 0 до 255). Программа должна применить увеличение контраста по правилу:
- Если яркость < 128 (тёмный пиксель): новая_яркость = старая_яркость / 2
- Если яркость >= 128 (светлый пиксель): новая_яркость = 128 + (старая_яркость - 128) / 2
Ответ округлять до целого вниз.

Выведите результат на экран. Числа в строке разделять одним пробелом.
Помните плёночные фотоаппараты? У них были негативы, где светлое становилось тёмным, а тёмное - светлым! Давайте создадим негатив цифрового фото. Программа получает на вход размеры фото n и m, затем n строк по m чисел - яркость пикселей (от 0 до 255, где 0 - чёрный, 255 - белый). Программа должна вывести негатив: n строк по m чисел. Каждый пиксель инвертируется по формуле: новая_яркость = 255 - старая_яркость.
В игровом турнире n команд сыграли с m противниками. Есть матрица результатов (количество побед каждой команды над каждым противником) и матрица весов (сколько очков даёт победа над каждым противником).
Программа получает на вход:
- Размеры n и m
- Матрицу A размера n×m (результаты: A[i][j] = количество побед команды i над противником j)
- Размеры m и k (k всегда равно 1 в этой задаче)
- Матрицу B размера m×1 (веса: B[j][0] = сколько очков даёт одна победа над противником j)

Программа должна вывести n чисел (каждое число в отдельной строке) - общий счёт команды i. 

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

Идеальное место — это аттракцион, который:

  • является самым низким в своём ряду;

  • и одновременно самым высоким в своём столбце.


Программа получает на вход размеры карты n и m, затем n строк по m чисел - высоты точек (все числа целые не больше 100).

Программа должна вывести координаты идеального места (номер строки и номер столбца, нумерация с 1).
Если идеальных мест нет, вывести "NONE". Если их несколько, вывести первую найденную (при обходе слева направо, сверху вниз). 
В конкурсе красоты участвуют модели. Строки — модели, столбцы — судьи. Найдите процент (округлённый вниз), который составляет сумма баллов победителя (модели с максимальной суммой) от общей суммы всех баллов всех моделей.

Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество моделей и судей. Следующие n строк содержат по m целых положительных чисел — баллы.

Формат выходных данных: Одно целое число — процент максимальной суммы строки от общей суммы (округлённый вниз).
В зоопарке кормят животных. Строки — животные, столбцы — дни недели. В таблице количество килограммов еды. Найдите разницу между максимальной и минимальной суммой по строкам (чтобы понять разброс аппетитов).

Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество животных и дней. Следующие n строк содержат по m целых неотрицательных чисел — килограммы еды.

Формат выходных данных: Одно целое число — разница между максимальной и минимальной суммой строк.
В городской больнице ведут статистику вызовов скорой помощи. Строки — районы города, столбцы — дни недели. Найдите самый спокойный день недели (с минимальным количеством вызовов суммарно). 

Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество районов и дней. Следующие n строк содержат по m целых неотрицательных чисел — количество вызовов.

Формат выходных данных: Одно целое число — номер столбца с минимальной суммой. Если таких несколько, выведите первый. Нумерация с 1.
В офисе программистов ведут учёт потребления кофе. Строки — программисты, столбцы — дни недели. Найдите номер программиста, который выпил больше всего чашек кофе за неделю.
Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество программистов и дней. Следующие n строк содержат по m целых неотрицательных чисел — количество чашек кофе.
Формат выходных данных: Одно целое число — номер строки с максимальной суммой. Если таких несколько, выведите первую. Нумерация с 1.
Поделиться
Класснуть