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

1 719 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
На третью планету от Солнца отправили n космических кораблей для сбора различных объектов для изучения. На каждом корабле было размещено по m контейнеров различного объема. После изучения планеты, отобрано n·m экземпляров. Командный состав решил взять несколько экземпляров самого большого объема. Необходимо определить какой объем должен иметь самый большой экземпляр, чтобы его можно было вывезти с планеты, а также количество кораблей и их номера, на которые можно поместить самые большие экземпляры. Все корабли пронумерованы, начиная с нуля.

Входные данные
Первая строка содержит два целых числа n и m: n - количество кораблей, отправленных на третью планету (1 <= n <= 100), m - количество контейнеров на каждом корабле. В следующих n строках содержат по m чисел, каждое из которых показывает объем контейнера (1 <= m <= 100, каждое число - неотрицательное не более 100). 

Выходные данные
Выведите в первой строке - количество космических кораблей, которыми можно привезти самый большой экземпляр, через пробел максимальный объем, который можно вывезти с планеты. На следующей строке выведите через пробел номера кораблей (нумеруются с нуля), на которые можно загрузить самый большой экземпляр.
 
Примеры
№ Входные данные Выходные данные
1
3 3
1 2 3
3 5 4
5 2 2
2 5
1 2
С востока на запад простираются горы, а на западе - океан. На вершине каждой горы есть отель. Вы хотите выбрать, в каком отеле остановиться. Высота i-й горы с запада равна Hi. Вы, конечно, можете увидеть океан из отеля, который расположен на вершине самой западной горы. Для отеля на вершине i-й горы с запада (i = 2, 3, ..., N) вы сможете увидеть океан тогда и только тогда, когда H1<=Hi, H2<=Hi, ... и Hi-1<=Hi. Посчитайте, со скольких из этих отелей вы сможете увидеть океан?

Входные данные
В первой строке записано натуральное число N (1 <= N <= 20) - количество гор. Вторая строка содержит N чисел Hi (1 <= Hi <= 100) высоты гор, начиная с самой западной (первой).


Выходные данные
Выведите количество отелей, из которых вы сможете увидеть океан.
 
 
Примеры
№ Входные данные Выходные данные
1
4
6 5 6 8
3
2
5
4 5 3 5 4
3
3
5
9 5 6 8 4
1
Дениска хочет отправиться в космическое путешествие на кораблях с варп-двигателями. Для этого он купил космическую дорожную карту. На первой открытой межгалактической варп-линии, управляемой МТК (Межзвездной транспортной компанией), есть N станций. i-я станция (1<=i<=N) от начальной станции называется Si.
Обычные космические корабли останавливаются на всех станциях, в то время как варп-корабли (космические корабли с варп-двигателями) останавливаются только на M (M <= N) станциях, а j-я станция (1 <= j <= M) - это станция с именем Tj.
Здесь гарантируется, что T1 = S1 и TM = SN , то есть варп-корабли останавливаются как на начальной, так и на конечной станциях.
Дениска хочет прокатиться на варп-корабле. Для каждой из N станций определите, сможет ли Дениска попасть на эту станцию на варп-корабле.

Входные данные
Программа получает на вход три строки. Первая строка содержит два целых числа N и M (2 <= M <= N <=105). Вторая строка содержит N различных слов Si (1 <= i <= N, ), разделенных пробелом - название станций, на которых останавливаются обычные космические корабли. Третья строка содержит M различных слов Tj (1 <= j <= M, ), разделенных пробелом - название станций, на которых останавливаются варп-корабли. Все слова в третьей строке (T1,...,TM) получается путем удаления нуля или более строк из (S1,...,SN) и выстраиванием оставшихся слов в ряд, не меняя порядок. 

Выходные данные
Выведите N строк. i-я строка (1<= i <=N) должна содержать Yes, если Дениска доберется на варп-корабле до i-й станции от начальной станции, иначе - No.
 
 
Примеры
№ Входные данные Выходные данные
1
5 3
andoria kanda badjor betazed ueno
andoria badjor ueno
Yes
No
Yes
No
Yes
2
7 7
a b c d e f g
a b c d e f g
Yes
Yes
Yes
Yes
Yes
Yes
Yes
✓ 1 437✗ 2 903400лёгкаяВойти и решать

Сегодня мальчик Саша на уроке математики узнал про фракталы. Учитель показывал так называемую «кривую дракона». Она представляет собой геометрическую фигуру, которая строится следующим образом: на первом шаге проводится отрезок из начала координатной плоскости в точку (0; 1). Далее на каждом шаге из конца фрактала повторяется уже нарисованная часть фигуры, повернутая на 90 градусов против часовой стрелки (см. рисунок).

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



Входные данные
Вводится одно целое число N (1 <= N <= 30).

Выходные данные
Выведите два числа через пробел - координаты конца фрактала.
 
 
Примеры
№ Входные данные Выходные данные
1 2 1 1
2 4 2 -2
Генератор степеней двойки работает следующим образом. Каждую секунду, начиная с первой, он печатает на экране все степени двойки, значение которых, не превосходит текущую секунду.
Пример первых чисел, которые выдает генератор:
1
1 2
1 2
1 2 4
...


По заданному числу n, выведите на экран первые n чисел, которые напечатает на экране генератор.

Входные данные
Программа получает на вход числу n (n <= 103).

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 5 1 1 2 1 2 
2 1 1
3A+5B#42254

Многие натуральные числа можно представить в виде N = 3A + 5B, где A и B - целые неотрицательные числа. Например, 11=3x2+5x1, 20=3x0+5x4.

Вам требуется по заданному числу определить, можно ли его представить в таком виде, и если это возможно, найти подходящие A и B.



Входные данные
Программа получает на вход натуральное число N (N <= 10000).

Выходные данные
Программа должна вывести два целых неотрицательных числа A и B, разделенных пробелом, если такие числа существуют. В противном случае выведите слово IMPOSSIBLE. Если решений несколько, выведите любое из них.
 
 
Примеры
№ Входные данные Выходные данные
1 23 1 4
2 4 IMPOSSIBLE
Напишите программу, вычисляющую \(2^N\).

Входные данные
Программа получает на вход натуральное число N (N<=30).

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 4 16
В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Входные данные
Программа получает на вход два вещественных числа x и y.

Выходные данные
Программа должна вывести одно натуральное число - номер дня, на который пробег спортсмена составит не менее y километров..
 
 
Примеры
№ Входные данные Выходные данные
1 10
20
9
✓ 93✗ 179500лёгкаяВойти и решать
По данному натуральному числу N выведите такое наименьшее целое число k, что \(2^k >= N\).

Входные данные
Программа получает на вход натуральное число N.

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 10 4

По данному числу N распечатайте все целые степени двойки, не превосходящие N, в порядке возрастания. Операцией возведения в степень пользоваться нельзя!



Входные данные
Программа получает на вход натуральное число.

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 30 1 2 4 8 16
Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.

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

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 25 5
✓ 231✗ 318300лёгкаяВойти и решать
Дана непустая последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу. 

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

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 2
2
2
3
3
1
1
1
1
0
4
✓ 128✗ 292600лёгкаяВойти и решать
Существует сетка с H горизонтальными строками и W вертикальными столбцами. Пусть (i, j) обозначает квадрат в i-й строке сверху и в j-м столбце слева.
Найдите количество квадратов, которые имеют общую сторону с квадратом (R, C).

Квадрат (a, b) и квадрта (c, d), имеют одну общую сторону тогда и только тогда, когда |a-c|+|b-d|=1 (где |x| обозначает абсолютное значение x).

Входные данные
Програма получает на вход две строки. Первая строка содержит два целых числа H и W (1 <= H, W <= 10). Вторая строка содержит два целых числа R и C (1 <= H, W <= 10).

Выходные данные
Выведите ответ на задачу.
 
Примеры
№ Входные данные Выходные данные
1 3 4
2 2
4
2 3 4
1 3
3

Изображение сетки, для описанных выше примеров
Плитки выровнены по N горизонтальным строкам и N вертикальным столбцам. Каждая плитка имеет сетку с A горизонтальными рядами и B вертикальными столбцами. Все плитки образуют квадрат X с (A×N) горизонтальными строками и (B×N) вертикальными столбцами.
Для 1<= i, j<= N плитка (i, j) обозначает плитку в i-й строке сверху и в j-м столбце слева.

Каждый квадрат X окрашен следующим образом.
  • Каждая плитка представляет собой либо белую плитку, либо черную плитку.
  • Каждый квадрат в белой плитке окрашен в белый цвет; каждый квадрат в черной плитке окрашен в черный цвет.
  • Плитка (1, 1) - это белая плитка.
  • Две плитки, разделяющие одну сторону, имеют разные цвета. Плитка (a, b) и плитка (c, d), имеют одну общую сторону тогда и только тогда, когда |a-c|+|b-d|=1 (где |x| обозначает абсолютное значение x).
Распечатайте квадрат X в формате, указанном в формате.

Входные данные
Программа получает на вход три целых числа: N, A, B (1 <= N, A, B <= 10).

Выходные данные
Выведите на экран (A×N) строк S1,...,SAxN, которые удовлетворяют следующим условиям.
Каждая из строк S1,...,SAxN представляет собой строку длины (B×N), состоящую из . и #.
Для каждого значения i и j (1<= i <= A×N,1 <= j <= B×N) j-й символ строки Si является символом . ,если квадрат в i-й строке сверху и j-м столбце слева в квадрате X окрашен в белый цвет; символом #, если квадрат окрашен в черный цвет.
 
 
Примеры
№ Входные данные Выходные данные
1
4 3 2
..##..##
..##..##
..##..##
##..##..
##..##..
##..##..
..##..##
..##..##
..##..##
##..##..
##..##..
##..##..
2
5 1 5
.....#####.....#####.....
#####.....#####.....#####
.....#####.....#####.....
#####.....#####.....#####
.....#####.....#####.....
3
4 4 1
.#.#
.#.#
.#.#
.#.#
#.#.
#.#.
#.#.
#.#.
.#.#
.#.#
.#.#
.#.#
#.#.
#.#.
#.#.
#.#.
4
1 4 4
....
....
....
....
Есть 4 квадрата, нарисованных горизонтально в ряд.

Вам дана строка S длиной 4, состоящие из 0 и 1.
Если i-й символ S равен 1, в i-м квадрате слева есть человек;
если i-й символ S равен 0, в i-м квадрате слева нет человека.

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

Выведите результат в виде строки в том же формате, что и S. (Для наглядности см. пример ввода / вывода).

Входные данные
На вход подается строка S длиной 4, состоящие из 0 и 1.

Выходные данные
Выведите строку длиной 4. i-й символ должен быть равен 1, если в i-м квадрате слева после перемещения будет человек, и 0 в противном случае.
 
Примеры
№ Входные данные Выходные данные
1
1011
0101
2
1111
0111
✓ 90✗ 97600лёгкаяВойти и решать
У Громозеки есть A слаймов. Каждый раз, когда Громозека чихает, количество слаймов увеличивается в K раз. Какое минимальное количество раз Громозеке нужно чихнуть, чтобы получить B или больше слаймов?


Входные данные
На вход подается три целых положительных числа A, B (1 <= A <= B <= 109), K (2 <= K <= 109).  

Выходные данные
Выведите на экран ответ на задачу
 
Примеры
№ Входные данные Выходные данные
1
1 4 2
2
2
31 415926 5
6
✓ 160✗ 223500лёгкаяВойти и решать
Программа заменяет в строке s все буквы 'h' на 'H', кроме первого и последнего вхождения. Вставьте пропущенные строки.
 
Примеры
№ Входные данные Выходные данные
1 In the hole in the ground there lived a hobbit In the Hole in tHe ground tHere lived a hobbit
Определите количество шестизначных «счастливых» чисел. «Счастливым» будем называть такое шестизначное число, в котором сумма его первых трех цифр равна сумме его последних трех цифр. 
Заполните пропуски в программе.

Функция sum3(n) вычисляет сумму цифр трехзначного числа.
Функция happy(n) определяет является ли число n счастливым. Функция happy(n) для своей работы использует функцию sum3(n).
Программа вычисляет значение выражения
\(ans = {2 + \sqrt{2} \over {5 + \sqrt{5}}} + {5 + \sqrt{5} \over {13 + \sqrt{13}}}+{13 + \sqrt{13} \over {8 + \sqrt{8}}}\).

Для вычисления используется функция drop(a, b), которая вычисляет значение одного слагаемого.
Запишите пропущенную строку в этой функции.
Поделиться
Класснуть