Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Два узла, находящиеся в разных подсетях, имеют IP-адреса 192.168.128.153 и 192.168.224.185. В масках обеих подсетей одинаковое количество единиц. Укажите наименьшее возможное значение третьего слева байта этой маски. Ответ запишите в виде десятичного числа

Исполнитель Редактор получает на вход строку символов и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w
обозначают цепочки символов.
А) заменить (v, w)
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды 
заменить (111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождении? цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v)
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение
«истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

Цикл

ПОКА условие
    последовательность команд
КОНЕЦ ПОКА

выполняется, пока условие истинно.

В конструкции

ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось (63) ИЛИ нашлось (664) ИЛИ нашлось (6665)
  ЕСЛИ нашлось (63) ТО заменить (63, 4)
  ИНАЧЕ
    ЕСЛИ нашлось (664) ТО заменить (664, 65)
    ИНАЧЕ
      ЕСЛИ нашлось (6665) ТО заменить (6665, 663) КОНЕЦ ЕСЛИ
    КОНЕЦ ЕСЛИ
  КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

На вход приведённой выше программе поступает строка, начинающаяся и заканчивающаяся цифрой «5», а между ними записана n раз цифра «6» (3 < n < 10 000). Определите количество возможных различиных значений суммы цифр результирующей строки, при различных значениях n.
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 156 символов и содержащийтолько десятичные цифры и символы из 1377-символьного специального алфавита. В базе данных ддя хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит.
Определите объем памяти (в Кбайт), необходимый для хранения 32768 идентификаторов. 
В ответе запишите только целое число - количество Кбайт. 
50099#50099
Формальной верификацией (проверкой) называется математическое доказательство соответствия или несоответствие предмета верификации его формальному описанию.
Известно, что целочисленная переменная обычно занимает ячейку памяти фиксированного размера, а значит, имеет заранее предопределённый, установленный её типом данных, диапазон допустимых значений, выход за пределы которого приведёт к переполнению.
В рамках данной задачи требуется определить, какие значения могут принимать переменные некоторой программы, чтобы в процессе её работы не произошло ни одного переполнения.

Входные данные
В первой строке натуральное число N, не превышающее 10, - количество переменных. Далее N строк, в которых через пробел записано имя переменной в виде одной заглавной латинской буквы, и два целых числа (по модулю не превышают 106) - минимальное и
максимальное значения, которые определяются её типом данных. Затем в следующей строке записано натуральное число M, не превышающее 100 - количество операций над переменными.
Далее в M строках записаны выражения вида A = B + K, где A и B - имена переменных, а K - число, не превышающее по модулю 106. Допустимы две операции: сложение и вычитание.

Выходные данные
Вывести N строк, где для каждой переменной через пробел указать её имя и диапазоны значений, которые могут быть ей присвоены перед первой операцией присваивания, чтобы гарантированно не произошло ни одного переполнения. Переменные вывести в
соответствии с алфавитным порядком их имён.
 
✓ 4✗ 81 100средняяВойти и решать
С помощью текстового редактора определите, сколько раз встречается сочетание букв "или" только в составе других слов, но не как отдельное слово, в тексте глав с IX по XI рассказа А.И. Куприна "Гранатовый браслет". В ответе укажите только число.

Файл к заданию
50096#50096
Требуется разделить заданный текст на английском языке на 3 группы слов по их первой букве так, чтобы количество слов в группах отличалось на минимальную величину. Группы могут формироваться только на основе алфавитного порядка латинских букв и задаются в виде диапазонов, например a-i, j-o, p-z.

Входные данные
В первой строке записано число N, не превышающее 106 - количество строк в тексте. Далее записано N строк текста, в каждой из которых не более 1000 символов. Текст состоит из латинских букв разного регистра, пробелов и знаков препинания ".", ",", "!", "?", ":".
После каждого знака препинания обязательно ставится пробел либо строка заканчивается.
Переносы слов с одной строки на другую отсутствуют.

Выходные данные
Одно число - величина, на которую отличается количество слов в группе, где их больше всего, от количества слов в группе, где их меньше всего.
Примеры
Входные данные Выходные данные Примечание
1 3
Above all zoo the blue bird
soars. Hippopotamus hopes high
honey
hotel?
2 Слова можно разбить на 3
группы:
1-я - 4 слова на буквы a и b;
2-я - 5 слов на букву h;
3-я - 3 слова на буквы s-z.
2 2
A a a a, o.
O o o! A?
5 Слова можно разбить на 2
группы:
1-я - все слова на букву a;
2-я - все слова на букву o;
3-я - пустая.
✓ 9✗ 24900средняяВойти и решать
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
- в строке есть ровно два различных числа, каждое из которых повторяется дважды;
- минимальное число из повторяющихся дважды чисел меньше минимального из неповторяющихся дважды чисел, а максимальное число из повторяющихся дважды чисел больше максимального из неповторящихся дважды  чисел.
В ответе запишите только число.

Файл к заданию
Сколько существует семиричных шестизначных чисел, кратных пяти и содержащих в своей записи ровно одну цифру 5, и при этом никакие две одинаковые цифры не стоят рядом.
Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 602х898 пикселей, используя палитру из 16777216 цветов. Для передачи снимки группируются в пакеты по 128 штук, затем передаются в центр обработки информации со скоростью 1024 бит/с.  Сколько секунд требуется для передачи одного пакета фотографий?
В ответе запишите целую часть полученного числа.
 

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её
голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять
хвост
, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая
передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.

Черепахе был дан для исполнения следующий алгоритм:

Повтори 4 [Налево 90 Повтори 2 [Вперёд 4 Направо 90] Вперёд 4]
Поднять хвост
Налево 90 Вперёд 3 Направо 90 Назад 3
Опустить хвост
Повтори 4 [Вперёд 10 Направо 90]

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

На вход алгоритма подаёется натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 4, то последние три цифры двоичной записи заменяются на первые три цифры двоичной записи числа, полученного в результате деления N на 4. В случае, если в двоичной записи результата деления меньше трех цифр, то двоичная запись результата деления дополняется слева незначащими нулями. 
б) если число N не делится на 4, то остаток от деления умножается на 4, переводится в двоичную запись и дописывается слева числа.
Полученная таким образом запись является двоичной записью искомого числа R
3. Результат переводится в десятичную систему и выводится на экран. 

Например, для исходного числа 13 = 11012 результатом является число 10011012 = 77, а для исходного числа 12 = 10012 это число 10112 = 11. 

Укажите максимальное значение R, меньшее 210, которое может быть получено с помощью данного алгоритма. В ответе запишите это число в десятичной системе счисления.
По каналу связи передаются сообщения, содержащие только девять букв: А, Ж, У, Р, Н, О, С, Т, Ь. Для передачи используется двоичный код, удовлетворяющий условию Фано. 
Известны кодовые слова некоторых букв:
А 000
Ж 001
У 100
Р 010
Н 1111
О 1110

Какое наименьшее количество двоичных знаков потребуется для кодирования трех оставшихся букв.
В ответе запишите суммарную длину кодовых слов для букв С, Т, Ь

Примечание
Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшировки закодированных сообщений. 
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц. Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Таблица «Магазин» содержит информацию о местонахождении магазинов. На рисунке приведена схема указанной базы данных.

Используя информацию из приведённой базы данных, определите на сколько увеличилось суммарное количество кг сахара любого вида, имеющихся в наличии в магазинах Первомайского района, за период с 1 по 10 августа включительно. В ответе запишите только число.


Файл к заданию

Миша заполнял таблицу истинности логической функции F

\((\bar{z} \lor \bar{w}) \rightarrow (\bar{w} \land y \lor \bar{x})\)

но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

        F
    0 0 0
1 1   1 0
  0 0 1 0

Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

На рисунке изображена схема дорог N-ского района. В таблице звездочкой обозначено наличие дороги из одного населенного пункта в другой.
Отсутствие звездочки означает, что такой дороги нет.

 

  Номер пункта
  1 2 3 4 5 6
Номер пункта 1 х *   * * *
2 * х *      
3   * х   *  
4 *     х   *
5 *   *   х *
6 *     * * х

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

Отвлечемся от задач про программистов и перенесемся в совершенно обыкновенные ясли, где мальчик Вова (3 годика) практикуется в устном счете, а если точнее — в вычислении арифметических выражений по модулю \(10^9 + 7\).

Совсем недавно Вова придумал длинное и очень красивое арифметическое выражение. Выражение состяло из \(n\) целых неотрицательных чисел, меньших \(10^9 + 7\), и знаков сложения и умножения между ними. Первым же делом он вычислил это выражение по модулю \(10^9 + 7\), после чего выписал само выражение и результат на лист бумаги. Все числа он выписал без ведущих нулей.

Пока шел тихий час, Вова спал, а хулиганы стерли несколько цифр в выражении и заменили их на другие. Менять знаки или результат вычисления выражения хулиганы не решились, даже для них это слишком низко. Когда Вова проснулся, он обнаружил рядом с его листочком ластик и карандаш. У Вовы есть принципы — если хулиганы изменили не более двух цифр, то он их простит, иначе они будут наказаны по всей строгости ясельных законов.

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

Формат входных данных
Единственная строка входного файла содержит выражение, которое обнаружил Вова у себя на листке. Выражение состоит из двух частей, разеделенных знаком ‘=’.

Первая часть содержит \(n\) целых неотрицательных чисел, разделенных знаками сложения (‘+’) и умножения (‘*’) (\(1 \le n \le 10^5\)). Вторая часть — целое неотрицательное число, означающее результат вычисления выражения.

Числа и все знаки разделяются одним пробелом. Гарантируется, что все числа строго меньше \(10^9 + 7\) и записаны без ведущих нулей.

Формат выходных данных
В случае, если данное выражение не может быть получено из верного равенства заменой не более двух цифр, выведите <<NO>>.

В противном случае в первой строке выведите <<YES>>. На следующей строке выведите целое число \(k \leq 2\) — количество чисел, которые были изменены.

В следующих \(k\) строках выведите по два числа — позицию измененнного числа в выражении (от \(1\) до \(n\)) и его исходное значение.

Суммарно должно быть изменено не более двух цифр. В процессе замены в числах не должны появиться ведущие нули и числа должны остаться меньше \(10^9 + 7\). Если существует несколько вариантов ответа, выведите любой из них.

 

Студент первого курса ИТМО Миша изучает новый примитивный язык программирования. В этом языке все операции производятся над массивами целых неотрицательных чисел длины \(n\).

Миша успел создать массив \(a\) и равный ему массив \(b\). Также он успел реализовать четыре функции:

  1. shift — делает циклический сдвиг массива \(a\) влево на \(d\), то есть при \(a = [a_0, a_1, \ldots, a_{n-1}]\) выполняет присваивание \[a \gets [a_d, \ldots, a_{n-1}, a_0, \ldots, a_{d-1}] \text{;}\]

  2. xor — присваивает в массив \(b\) его поэлементный xor (побитовое исключающее <<или>>) с массивом \(a\), то есть \[b \gets [a_0 \oplus b_0, a_1 \oplus b_1, \ldots, a_{n-1} \oplus b_{n-1}] \text{;}\]

  3. and — присваивает в массив \(b\) его поэлементный and (побитовое <<и>>) с массивом \(a\);

  4. or — присваивает в массив \(b\) его поэлементный or (побитовое <<или>>) с массивом \(a\).

Используя эти функции, Миша написал программу, задаваемую последовательностью операций xor, and и or длины \(m\). Программа в цикле \(p\) раз выполняет следующие действия: для каждой операции из последовательности сначала вызывается shift, а затем соответствующая этой операции функция. Так, для последовательности операций \([\mathtt{or}, \mathtt{xor}, \mathtt{and}]\) и \(p = 5\) программа будет выглядеть как

b = a = [...]
repeat 5 times {
    shift
    or
    shift
    xor
    shift
    and
}

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

Формат входных данных
В первой строке ввода перечислены четыре целых числа \(n\), \(m\), \(d\) и \(p\) — длина массива, количество операций в последовательности, величина сдвига и количество повторений (\(0 \le d < n \le 2 \cdot 10^5\); \(1 \le m \le 10\); \(1 \le p \le 10^9\)).

Во второй строке перечислены \(n\) целых чисел \(a_i\) — элементы массива \(a\), они же — изначальные значения элементов массива \(b\) (\(0 \le a_i \le 10^9\)).

В третьей строке через пробел перечисены \(m\) слов, каждое из которых равно <<xor>>, <<and>> или <<or>> — последовательность применяемых на каждой итерации цикла операций.

Формат выходных данных
Выведите \(n\) целых чисел — элементы массива \(b\) после выполнения описанной программы.

Два сотрудника одной известной компании Алиса и Боб предложили тимлиду два решения возникшего в критическом месте бага. Теперь Алиса подозревает, что сотрудник Боб просто взял ее код и добавил в него не влияющие на функциональность символы, чтобы создать впечатление более интенсивной работы.

Компания пишет на эзотерическом языке программирования, похожем на Malbolge, поэтому код каждого из сотрудников представляет из себя строчку из маленьких латинских букв. Код Алисы — строка \(t\), а код Боба — строка \(s\).

Поскольку клавиатура Боба сломана, он может печатать ровно два символа за раз, то есть может вставлять в любое место строки два любых (не обязательно одинаковых) символа. После заявления Алисы о подозрении Боба в плагиате их начальник начал анализировать строки \(s\) и \(t\), пытаясь понять, мог ли Боб получить строку \(s\) из строки \(t\) со своей сломанной клавиатурой. Для этого он пытается постепенно удалять из строки \(s\) по два соседних символа, пока не получит в итоге строrку \(t\).

Помогите выяснить, виноват ли Боб в плагиате: определите, можно ли получить строку \(t\) из строки \(s\), вырезая из нее произвольное количество раз по два стоящих рядом символа.

Входные данные
В первой строке дана строка \(s\), состоящая из маленьких латинских букв от ‘a’ до ‘z’ (\(1 \le |s| \le 2 \cdot 10^5\)).

Во второй строке дана строка \(t\), также состоящая из маленьких латинских букв (\(1 \le |t| \le |s|\)).

Выходные данные

В качестве ответа выведите <<YES>>, если из \(s\) можно получить \(t\) удалениями двух символов подряд, и <<NO>> в противном случае.

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

Дано натуральное число x. Вычислите кубический корень из числа.
 
Формат входных данных
Число x – натуральное, не превосходящее \(10^6\).
 
Формат выходных данных
Программа должна вывести единственное число: ответ на задачу с точностью не менее 6 знаков после запятой.
Примеры
Входные данные Выходные данные
1 2 1.259921
Мэр Цветочного города попросил лучшего плиточника Тайлера замостить квадратную зону площади плиткой. Тайлеру были выданы коробки, в каждой из которых содержится ai квадратных плиток размером 1х1. Тайлеру поставили условие, что он должен обязательно использовать все плитки, которые ему были выданы. 
Помогите Тайлеру определить, сможет ли он использовать все плитки, чтобы замостить из всех них квадрат какого-либо размера или ему придется идти к мэру и просить еще плиток?
Считайте, что на площади можно замостить квадрат любого размера. 

Формат входных данных
В первой строке вводится натуральное число n (1 ≤ n ≤ 2·105)- количество коробок, выданных Тайлеру. Во второй строке записаны n чисел ai (1 ≤ ai ≤ 109)- количество плиток в i-й коробке.

Формат выходных данных
Выведите YES, если Тайлер сможет из всех плиток замостить квадрат какого-либо размера на площади, в противном случае выведите NO.
Поделиться
Класснуть