Информатика

16 015 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
Лети, лети, лепесток,
Через запад на восток,
Через север, через юг,
Возвращайся, сделав круг.
Лишь коснёшься ты земли
Быть по-моему вели.
© Цветик-семицветик.

Во время осенних каникул, проходящих с 1 ноября по 8 ноября 2022 года, вы планируете совершить экскурсию в один из городов России. Вы даже выбрали город и даты полётов туда и обратно, но страница с результатами прогрузилась лишь частично. Вам требуется по имеющейся информации найти самый дешёвый вариант посетить выбранный город и вернуться, заодно посчитав, сколько у вас будет времени на осмотр достопримечательностей. Стоит учесть, что часто авиакомпании предоставляют скидку на перелёт туда-обратно.

Входные данные
В первой строке входного файла заданы два целых числа n и m — количество вариантов перелёта «туда» и «обратно» (1 <= n,m <= 1000). В следующих n строках описаны варианты перелёта «туда» в формате: CCxxxx yyyy.mm.dd hh:mm YYYY.MM.DD HH:MM TT:tt value, где:
•    CC — код авиакомпании, xxxx — номер рейса,
•    yyyy.mm.dd hh:mm — дата и время вылета,
•    YYYY.MM.DD HH:MM — дата и время прилёта,
•    TT:tt — время в пути, гарантируется, что время перелёта не превышает 24 часа,
•    value — целое число, стоимость перелёта (0 <= value <= 100000).
В следующих m строках описаны варианты перелёта «обратно» в том же формате. Дата вылета рейса «туда» во всех случаях как минимум на три дня раньше даты рейса «обратно».
Гарантируется, что все перелёты начинаются во время осенних каникул.
В последующих строках выписаны скидки, которые предоставляют авиакомпании за полёт тудаобратно. Каждая строка описывает одну авиакомпанию в формате: CC — код авиакомпании и value — целое число, размер скидки в процентах (0 <= value <= 100). Скидка рассчитывается с точностью до рублей, копейки отбрасываются в пользу клиента. Гарантируется, что у перечисленных компаний есть хотя бы один рейс либо «туда», либо «обратно», и что компании в данном списке не повторяются.

Выходные данные
В первой строке выведите два натуральных числа через пробел — оптимальные номера вариантов рейсов туда и обратно. Если существует несколько пар рейсов, дающих оптимальную стоимость, то нужно выбрать ту, которая позволяет провести за осмотром достопримечательностей как можно больше времени. Из всех таких пар выбрать ту, номера вариантов которой как можно раньше встретились в поисковой выдаче. Во второй строке выведите, сколько времени у вас будет на осмотр, в формате dd:hh:mm. Считается, что осмотр достопримечательностей начинается с момента прибытия и продолжается до момента отлёта.
 
Примеры
№ Входные данные Выходные данные
1 2 3
DP4160 2022.11.02 07:05 2022.11.02 07:35 02:35 4000
DP4130 2022.11.02 07:45 2022.11.02 08:10 02:36 3423
S71141 2022.11.07 05:55 2022.11.07 09:55 02:40 3432
S71042 2022.11.07 05:59 2022.11.07 09:59 02:45 3422
S71243 2022.11.07 04:25 2022.11.07 09:25 02:30 3432
DP 15
S7 10
2 2
04:21:49
Замечание
Россия – большая страна с 11 часовыми поясами, поэтому, вполне возможно прилететь в город назначения раньше, чем вылетел, поскольку время отправления и прибытия самолетов всегда указывается по местному времени. Из Челябинска можно улететь в Калининград, с разницей -3 часа, или во Владивосток, с разницей +6 часов.
 
Вы решили съездить проведать своего друга из Озерска. Однако на въезде в город вас остановили и попросили решить задачу, чтобы удостовериться, что вы действительно можете проехать на территорию закрытого города.
Бинарная строка это строка, состоящая только из символов 0 и 1. Полицейский дал вам бинарную строку s1s2 ... sn. Нужно отсортировать эту строку (то есть превратить ее в строку вида 00 ... 0011 ... 11) за наименьшее количество операций. За одну операцию вы можете сделать следующее:
• Выбрать произвольный индекс в строке 1 <= i <= n;
• Для всех j >= i поменять значение в j-й позиции на противоположное, то есть если sj = 1, то сделать sj = 0, и наоборот.

Входные данные
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит целое число t (1 <= t <= 104) количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит единственное целое число n (1 <= n <= 105) длину строки.
Вторая строка каждого набора входных данных содержит бинарную строку s длины n.
Гарантируется, что сумма n по всем наборам входных данных не превосходит 2 ·105.

Выходные данные
Для каждого набора входных данных выведите единственное целое число минимальное количество операций, которое потребуется сделать, чтобы отсортировать строку.
 
Примеры
№ Входные данные Выходные данные
1 6
1
1
2
10
3
101
4
1100
5
11001
6
100010
0
1
2
1
2
3


Замечание
В первом наборе входных данных строка уже отсортирована.
Во втором наборе входных данных можно выбрать i = 1 и после этого s = 01.
В третьем наборе входных данных можно выбрать i = 1 и получить s = 010, а после этого выбрать i = 2. В результате получим s = 001, то есть отсортированную строку.
В шестом наборе входных данных можно на первой итерации выбрать i = 5 и получить s = 100001. Затем выбрать i = 2 тогда s = 111110. Дальше выбираем i = 1, получая отсор-
тированную строку s = 000001.
Томми очень любит прямоугольные фигуры. На уроке геометрии Томми выдали четыре полоски бумаги для составления его любимой фигуры. К сожалению, одну полоску Томми потерял и у него остались  три полоски бумаги длиной l1, l2, l3. Теперь Томми задумался, а сможет ли он составить из этих полосок прямоугольник, если одну любую полоску разрежет один раз таким образом, чтобы длина каждой части была ненулевой, а сумма длин полученных частей равнялась бы изначальной длине полоски.
Томми считает, что квадрат является прямоугольником. 

Помогите Томми определить, получится ли у него сделать прямоугольник.

Входные данные
Программа получает на вход три целых числа l1, l2, l3 (1 <= l1, l2, l3 <= 108).

Выходные данные
Если у Томми получится построить прямоугольник, то выведите на экран слово YES. Если прямоугольник построить не получится - слово NO.

 
Примеры
№ Входные данные Выходные данные
1
2 5 2
NO
2
2 4 2
YES
Громозека считает натуральное число вкусным, если все его цифры различны и сумма цифр этого числа равна числу, написанному на печеньке, которую ест Громозека.
Сейчас Громозека ест печеньку, на которой написано число n. Помогите ему определить наименьшее вкусное число для такой печеньки.
Например, если n = 10, то наименьшее вкусное число 19 (1+9=10, все цифры числа 19 различные).

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

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 10 19
2 1 1
✓ 68✗ 320800средняяВойти и решать
Лес#42971
Миша заблудился в лесу и пытается выйти из него. Он проходит A шагов на север, затем B шагов на восток, затем C шагов на юг, D шагов на запад, после чего повторяет свои действия (снова A шагов на север, B шагов на восток, C шагов на юг, D шагов на запад и т.д.).
Оказалось, что для того, чтобы выйти из леса из его первоначальной точки, ему нужно было пройти ровно K шагов в любом из четырёх направлений, то есть первоначально Миша находится в центре квадрата со стороной 2K шагов. Определите, сколько шагов Миша сделает, прежде чем выйдет из леса (впервые окажется на границе леса).

Входные данные
Первые четыре строки входных данных содержат по одному целому положительному числу A, B, C, D — количество шагов, которое Миша делает на север, восток, юг, запад. Пятая строка входных данных содержит целое число K — расстояние от начального расположения Миши до четырёх сторон квадрата (границ леса). Все входные числа не превосходят 109.

Выходные данные
Программа должна вывести одно целое число — количество шагов, которое Миша сделает до выхода из леса. Гарантируется, что входные данные таковы, что Миша когда-нибудь выйдет из леса. 
Обратите внимание, что значение ответа может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
 
Примеры
№ Входные данные Выходные данные
1 1
1
2
3
3
13


Замечание
На рисунке изображён пример из условия. Миша делает 1 шаг на север (вверх), 1 шаг на восток (вправо), 2 шага на юг (вниз), 3 шага на запад (влево). От начального расположения Миши до стороны квадрата — 3 шага. Первоначальное расположение Миши и точка выхода из леса обозначены синими кругами. Путь Миши обозначен жёлтой линией. Миша пройдёт 13 шагов, прежде чем впервые окажется на границе леса.

Вася пишет на доске целое число n. Далее с числом записанным на доске он проделывает следующую операцию:
  • если последняя цифра числа не равна нулю, то Вася стирает старое число и записывает на доске новое число, равное минимальному целому числу, которое не меньше, чем частное от деления старого числа на последнюю цифру этого числа;
  • если последняя цифра числа равна нулю, то он ее стирает.
Какое число будет записано на доске после выполнения данной операции k раз?


Входные данные
Первая строка входных данных содержит два целых числа n и k (2 <= n <= 109, 1 <= k <= 50) - число, которое Вася изначально написал на доске и количество выполнения описанной операции.

Выходные данные
Необходимо вывести одно число - ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 512 4 3
2 10000 5  1
✓ 93✗ 269600лёгкаяВойти и решать
Вася пишет на доске целое число n. Далее с числом записанным на доске он проделывает следующую операцию:
  • если последняя цифра числа не равна нулю, то Вася делит число на данную последнюю цифру и отбрасывает дробную часть (при этом старое число Вася стирает с доски и записывает на доске новое);
  • если последняя цифра числа равна нулю, то он ее стирает.
Какое число будет записано на доске после выполнения данной операции k раз?


Входные данные
Первая строка входных данных содержит два целых числа n и k (2 <= n <= 109, 1 <= k <= 50) - число, которое Вася изначально написал на доске и количество выполнения описанной операции.

Выходные данные
Необходимо вывести одно число - ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 512 4 21
2 10000 5  1
✓ 67✗ 72500лёгкаяВойти и решать

В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число – текущее показание прибора «Гамма 2022». Количество передаваемых чисел в серии известно и не превышает 100 000. Все числа не превышают 10 000. Временем, в течение которого происходит передача, можно пренебречь. Необходимо вычислить «гамма-значение» серии показаний прибора – минимальное нечетное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Если получить такое произведение не удаётся, ответ считается равным -1.
 

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


Входные данные  
В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что \(N>6\). В каждой из следующих N строк задаётся одно положительное целое число – очередное показание прибора.

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

 

Примеры
№ Входные данные Выходные данные
1 12
45
5
3
1
7
23
21
20
19
18
1
7
1

В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число – текущее показание прибора «Гамма 2022». Количество передаваемых чисел в серии известно и не превышает 100 000. Все числа не превышают 10 000. Временем, в течение которого происходит передача, можно пренебречь. Необходимо вычислить «гамма-значение» серии показаний прибора – максимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 10 минут. Если получить такое произведение не удаётся, ответ считается равным -1.
 

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


Входные данные  
В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что \(N > 10\). В каждой из следующих N строк задаётся одно положительное целое число – очередное показание прибора.


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

 

 

Примеры
№ Входные данные Выходные данные
1 15
45
5
3
1
7
23
21
20
19
18
1
7
2
12
7
540
42904#42904

Как называется переменная, которая видна в любой функции программного кода?

1) глобальная переменная
2) локальная переменная
3) нельзя создавать переменные внутри функции
4) параметр

42892#42892

Как называется программный код, который выполняется при вызове функции?

1) введение функции
2) тело функции
3) заголовок функции
4) инициализация функции

42890#42890
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a,b - целые числа), перемещающую  Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a,b положительные, то значение соответствующей координаты увеличивается, если отрицательные - уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись  
Повтори k раз
  Команда1 Команда2 Команда3
конец
означает, что последовательность Команда1 Команда2 Команда3 повторится k раз.


Чертёжнику был дан для исполнения следующий алгоритм:
х = -1
повтори 5 раз
х = -х
повтори 4 раз
  сместиться на (-10*х, -5*х)
  сместиться на (6*х, 9*х)
  сместиться на (10*х, 5*х)
  сместиться на (-6*х, -9*х)
конец
конец
Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0). Сколько раз Чертежник, проходя через начало координат, будет переходить из первой четверти в третью? Когда Чертежник начинает движение из точки с координатами (0, 0), это не является переходом между четвертями.
42889#42889
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a,b - целые числа), перемещающую  Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a,b положительные, то значение соответствующей координаты увеличивается, если отрицательные - уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись  
Повтори k раз
  Команда1 Команда2 Команда3
конец
означает, что последовательность Команда1 Команда2 Команда3 повторится k раз.


Чертёжнику был дан для исполнения следующий алгоритм:
х = 1
повтори 5 раз
 х = -х
 повтори 4 раз
  сместиться на (-10*х, -5*х)
  сместиться на (6*х, 9*х)
  сместиться на (10*х, 5*х)
  сместиться на (-6*х, -9*х)
 конец
конец
Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0). Сколько раз Чертежник, проходя через начало координат, будет переходить из первой четверти в третью? Когда Чертежник начинает движение из точки с координатами (0, 0), это не является переходом между четвертями.
42888#42888
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a,b - целые числа), перемещающую  Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a,b положительные, то значение соответствующей координаты увеличивается, если отрицательные - уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись  
Повтори k раз
  Команда1 Команда2 Команда3
конец
означает, что последовательность Команда1 Команда2 Команда3 повторится k раз.


Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 6 раз 
  Сместиться на (-10, -5) 
  Сместиться на (6, 9) 
  Сместиться на (10, 5) 
  Сместиться на (-6, -9) 
конец

Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0). Определите количество точек с целочисленными координатами, принадлежащих изображенной Чертежником фигуре и находящихся на расстоянии не более 6 единиц от начала координат. Точки, лежащие на границы фигуры, не учитывать.
42887#42887
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a,b - целые числа), перемещающую  Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a,b положительные, то значение соответствующей координаты увеличивается, если отрицательные - уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись  
Повтори k раз
  Команда1 Команда2 Команда3
конец
означает, что последовательность Команда1 Команда2 Команда3 повторится k раз.


Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 2 раз 
 Повтори 3 раз 
  Сместиться на (-10, -5) 
  Сместиться на (6, 9) 
  Сместиться на (4, -4)  
 конец
 Повтори 4 раз 
  Сместиться на (10, 5) 
  Сместиться на (-6, -9) 
  Сместиться на (-4, 4) 
 конец
конец

Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0). Определите, сколько различных точек с целочисленными координатами одного знака принадлежат траектории Чертёжника. Учитывать точки, лежащие на границе фигуры, но не учитывать точки, лежащие на осях координат.
42886#42886
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a,b - целые числа), перемещающую  Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a,b положительные, то значение соответствующей координаты увеличивается, если отрицательные - уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись  
Повтори k раз
  Команда1 Команда2 Команда3
конец
означает, что последовательность Команда1 Команда2 Команда3 повторится k раз.


Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 6 раз 
  Сместиться на (-6, -7) 
  Сместиться на (8, -4) 
  Сместиться на (0, 10) 
  Сместиться на (-2, 1) 
конец

Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0). Определите площадь изображенной Чертежником фигуры.
42885#42885
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a,b - целые числа), перемещающую  Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a,b положительные, то значение соответствующей координаты увеличивается, если отрицательные - уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись  
Повтори k раз
  Команда1 Команда2 Команда3
конец
означает, что последовательность Команда1 Команда2 Команда3 повторится k раз.


Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 2 раз 
 Повтори 4 раз 
  Сместиться на (-6, -7) 
  Сместиться на (8, -4) 
  Сместиться на (0, 10) 
  Сместиться на (-2, 1) 
 конец
 Повтори 4 раз 
  Сместиться на (6, 7) 
  Сместиться на (-8, 4) 
  Сместиться на (0, -10) 
  Сместиться на (2, -1) 
 конец
конец
Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0). Определите, сколько различных точек с целочисленными координатами принадлежат траектории Чертёжника.
Поделиться
Класснуть