Линейные структуры

47 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Assault#23586
В то время, пока обороняющиеся отвлеклись на Блейза, Корвин начал штурм города. Для того, чтобы его армия вошла в город, ему нужно пробить брешь в стене. В его распоряжении есть целый флот, из которого он собирается обстреливать стены города. Стена являются линией из n сегментов, пронумерованных от 1 до n
Корвин хорошо помнит, насколько укреплен каждый сегмент стены. К сожалению, с тех пор как Корвин последний раз был в Амбере, сегменты несколько раз перестраивали, поэтому их укрепленность могла измениться, поэтому Корвин владеет устаревшей информацией.
Но Джерард не только согласился отвести свой флот из бухты Амбера, благодаря чему флоту Корвина удалось добраться до Амбера с целым и невредимым флотом, но и предоставил ему журнал с m записями, в котором в i-ой записи указано, что были перестроены сегменты с li по ri, а также сказано, насколько изменилась укрепленность всех сегментов (укрепленность каждого сегмента на отрезке [li; ri] изменяется на одно и тоже значение ti).
Корвин m раз предлагает выстрелить по сегментам стены с l по r из p кораблей. Известно, что брешь будет пробита, если на отрезке [l; r] есть хотя бы один сегмент с укрепленностью меньше p. Вы должны ответить ему, будет ли пробита брешь (вывести "YES"), или нет (вывести "NO"). 

Входные данные
На первой строке находятся числа n, m и k (1 <= n, k <= 100000, 1 <= m <= 10000)  - количество сегментов, записей и запросов от Корвина соответственно.
На второй строке находятся числа a1,...an (0 <= ai <= 10).
В следующих m строках содержатся числа l, r, t (1 <= l <= r <= n, -10 <= t <= 10).
В следующих k строках содержатся числа l, r, p (1 <= l <= r <= n, 1 <= p <= 1000).

Выходные данные
В i-ой строке выведите ответ на i-ый запрос Корвина.

 
Примеры
Входные данные Выходные данные
1
10 3 3
123 398 287 190 76 15 407 312 323 659 
4 9 -99
10 10 -82
4 10 76
9 10 32
5 6 283
4 4 983
NO
YES
YES
Рисунок задан в виде матрицы A, в которой элемент A[y][x] определяет цвет пикселя на пересечении строки y и столбца x. Перекрасить в цвет 2 одноцветную область, начиная с пикселя (x0,y0).  

Входные данные 
В первой строке задается размер квадратной матрицы n (\(0<n<10\)). Во второй строке заданы координаты точки (x0, y0) - два числа через пробел (0 <= x0, y0 < n) . Далее идут n строк по n неотрицательных чисел в каждой через пробел (каждое число не больше 10).

Выходные данные
Вывести получившуюся после перекраски матрицу.
 
Примеры
Входные данные Выходные данные
1 5
1 2
0 1 0 1 1
1 1 1 2 2
0 1 0 2 2
3 3 1 2 2
0 1 1 0 0
0 2 0 1 1
2 2 2 2 2
0 2 0 2 2
3 3 1 2 2
0 1 1 0 0


Источник: К.Ю. Поляков. Учебник. Информатика. 
✓ 704✗ 1 263600лёгкаяВойти и решать
Постфиксная запись представляет собой такую запись алгебраического выражения, в которой сначала записываются операнды, а затем – знак операции. Например, для выражения a + b * c постфиксная запись будет a b c * +.

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


Входные данные
На вход подается символьная строка. Знак / в записи означает целочисленное деление.

Выходные данные
Выведите на экран результат выражения.
 
 
Примеры
Входные данные Выходные данные
1 5 3 + 7 4 - * 24

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

Входные данные
На вход подается символьная строка, представляющая собой арифметическое выражение.

Выходные данные
Если скобки расставлены верно, то вывести на экран слово Yes, в противном случае - No и количество неправильно расставленных скобок (скобка считается неправильно расставленной, если у нее нет пары).

 
Примеры
Входные данные Выходные данные
1 7-((X*((X+Y)/(J-3))+Y)/(4-2.5)) Yes
2 (a-c/(d) No. Incorrect brackets = 1
Напишите программу, которая проверяет правильность расстановки скобок в арифметическом выражении. Используются скобки трёх типов: ( ), [ ] и { }

Входные данные
На вход подается строка.

Выходные данные
Выведите на экран Yes, если в строке правильного расставлены скобки. В противном случае, выведите No.
 
 
Примеры
Входные данные Выходные данные
1 (5+7)*[5+{(4+3)*[9-6]+7}-8] Yes
2 [(2+3) No

 

В неориентированном графе требуется найти длину кратчайшего пути между двумя вершинами.
 
Формат входных данных
В первой строке входных данных записано число N - количество вершин в графе (1 <= N <= 100). Далее с новой строки записана матрица смежности (0 обозначает отсутствие ребра, 1 - наличие ребра). В последней строке записаны номера двух вершин - начальной и конечной.
 
Формат выходных данных 
Выведите длину кратчайшего пути. Если пути не существует, выведите одно число -1.
Дано N целых чисел. Требуется выбрать из них три таких числа, произведение которых максимально.
 
Входные данные: 
На вход подается сначала число N - количество чисел в последовательности (\(3<=N<=100\)).
Далее идет сама последовательность: N целых чисел, по модулю не превышающих 1000.
 
Выходные данные:
Выведите три искомых числа в любом порядке. 
Если существует несколько различных троек чисел, дающих максимальное произведение, то выведите любую из них.

Примеры
Входные данные Выходные данные
1
9
3 5 1 7 9 0 9 -3 10
9 10 9
2
3
-5 -300 -12
-5 -300 -12
 
✓ 65✗ 262700средняяВойти и решать
Поделиться
Класснуть