previous arrow
next arrow
Slider

Разбор Тренировочной по информатике 30 марта

В заданиях используются следующие соглашения.

1. Обозначения для логических связок (операций):

a) отрицание (инверсия, логическое НЕ) обозначается ¬ (например, ¬А);

b) конъюнкция (логическое   умножение,   логическое   И)   обозначается   /\ (например, А /\ В) либо & (например, А & В);

c) дизъюнкция (логическое  сложение,   логическое   ИЛИ)   обозначается   \/

(например, А \/ В) либо | (например, А | В);

d) следование (импликация) обозначается → (например, А → В);

e) тождество обозначается ≡ (например, A ≡ B); выражение A ≡ B истинно тогда и только тогда, когда значения A и B совпадают (либо они оба истинны, либо они оба ложны);

f) символ 1 используется для обозначения истины (истинного высказывания); символ 0 – для обозначения лжи (ложного высказывания).

2. Два логических выражения, содержащие переменные, называются равносильными (эквивалентными), если значения этих выражений совпадают при любых значениях переменных. Так, выражения А → В и (¬А) \/ В равносильны, а А \/ В и А /\ В неравносильны (значения выражений разные, например, при А = 1, В = 0).

3. Приоритеты логических операций: инверсия (отрицание), конъюнкция (логическое умножение), дизъюнкция (логическое сложение), импликация (следование), тождество. Таким образом, ¬А /\ В \/ С /\ D означает то же, что и ((¬А) /\ В) \/ (С /\ D).

Возможна запись А /\ В /\ С вместо (А /\ В) /\ С. То же относится и к дизъюнкции: возможна запись А \/ В \/ С вместо (А \/ В) \/ С.

Файл: скачать

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

 

1. На рисунке схема дорог изображена в виде графа, в таблице звёздочкой отмечено наличие дороги между двумя населёнными пунктами.

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

5. Алгоритм получает на вход натуральное число N  \ge 10 и строит по нему новое число R следующим образом:

  1. Все пары соседних цифр в десятичной записи N рассматриваются как двузначные числа (возможно, с ведущим нулём).
  2. Из списка полученных на предыдущем шаге двузначных чисел выделяются наименьшее и наибольшее.
  3. Результатом работы алгоритма становится сумма найденных на предыдущем шаге двух чисел.

Пример. Дано число N = 2022. Алгоритм работает следующим образом:

  1. В десятичной записи выделяем двузначные числа: 20, 02, 22.
  2. Наименьшее из найденных чисел 02, наибольшее 22.
  3. 02 + 22 = 24.

Результат работы алгоритма R = 24.

При каком наименьшем N в результате работы алгоритма получится R = 137?

 

7. В информационной системе хранятся сведения о некотором объекте и его фотография, сделанная в режиме HighColor (216 цветов). Суммарно (сведения и фотография) информация об объекте занимает 7 Мбайт. Фотографию объекта заменили на более качественную, сделанную в режиме TrueColor (224 цветов), при этом разрешение и коэффициент сжатия изображения не изменились. После замены информация об объекте стала занимать 9 Мбайт. Сколько Мбайтов занимают сведения об объекте без учёта фотографии?

 

8. Настя составляет коды из букв слова НАСТЯ. Код должен состоять из 7 букв, буква Н должна встречаться в нём ровно два раза, буква А – как минимум один раз. Сколько различных кодов может составить Настя?

 

9. В каждой строке электронной таблицы записаны четыре натуральных числа. Определите, сколько в таблице таких четвёрок, из которых можно выбрать три числа с нечётной суммой.

Файл: скачать

 

10. На каком расстоянии (в вёрстах) от Оренбурга находилась Белогорская крепость, в которой служил герой повести А.С. Пушкина «Капитанская дочка» Пётр Гринёв? В ответе укажите целое число – количество вёрст.

Файл: скачать

 

11. Система мониторинга формирует и отправляет специальные сообщения, в которые могут входить только следующие символы: латинские буквы (26 заглавных и 26 строчных), цифры от 0 до 9, пробел. Количество символов в сообщении может быть любым.

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

Система отправила 7 сообщений: два сообщения по 30 символов каждое, два сообщения по 50 символов и три сообщения по 70 символов. При этом всего было передано 400 байт.

Сколько байтов содержит заголовок сообщения? В ответе запишите только целое число – количество байтов.

 

12. Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27)

преобразует строку 05111150 в строку 0527150.

Если  в  строке  нет  вхождений  цепочки  v,  то  выполнение  команды

заменить (v, w) не меняет эту строку.

Б) нашлось (v).

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина»,   в   противном   случае   возвращает   значение   «ложь».   Строка исполнителя при этом не изменяется.

Цикл

ПОКА условие

    последовательность команд

КОНЕЦ ПОКА

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

Дана программа для редактора:

НАЧАЛО

 ПОКА НЕ нашлось (00)

    заменить (021, 102)

    заменить (022, 301)

    заменить (02, 20)

    заменить (01, 10)

 КОНЕЦ ПОКА

КОНЕЦ

Известно, что исходная строка начиналась с нуля и заканчивалась нулём, а между ними содержала только единицы и двойки. После выполнения данной программы получилась строка, содержащая 27 единиц, 9 двоек и 4 тройки. Сколько двоек было в исходной строке?

 

13. На рисунке представлена схема дорог, связывающих пункты А, Б, В, Г, Д, Е, Ж, И, К, Л, М, Н, П, Р, С. По каждой дороге можно передвигаться только в направлении, указанном стрелкой. Сколько существует различных путей из пункта А в пункт С, проходящих ровно через один из пунктов Е и Ж?

16. Обозначим частное от деления целочисленного натурального числа a на натуральное число b как a div b, а остаток как a mod b. Например, 13 div 3 = 4, 13 mod 3 = 1.

Алгоритм вычисления значения функции F(a, b), где a и b – целые неотрицательные числа, задан следующими соотношениями:

F(0, b) = b;

F(a, b) = F(a div 10, 10b + (a mod 10)), если a \textgreater 0.

Укажите наименьшее значение a, для которого F(a, 0) = 1248163264.

 

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

Например, если в начале игры в куче 3 камня, Петя может первым ходом получить кучу из 4, 5 или 6 камней. Если Петя получил кучу из 4 камней (добавил один камень), то следующим ходом Ваня может получить 5 или 6 камней. Получить 8 камней Ваня не может, так как нельзя удваивать кучу с чётным числом камней.

Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается, когда количество камней в куче становится не менее 22. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 22 или больше камней.

В начальный момент в куче было S камней, 1 \leq S \leq 21.

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

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

 

20. Для игры, описанной в задании 19, укажите два значения S, при которых Петя не может выиграть за один ход, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом. В ответе запишите найденные значения в порядке возрастания: сначала меньшее, затем большее.

 

21. Для игры, описанной в задании 19, найдите наименьшее значение S, при котором у Пети есть выигрышная стратегия, позволяющая ему выиграть третьим ходом при любой игре Вани, но у Пети нет стратегии, которая позволяла бы ему гарантированно выиграть первым или вторым ходом.

 

22. Ниже на четырёх языках программирования записана программа, которая вводит натуральное число x, выполняет преобразования, а затем выводит два числа. Известно, что при вводе некоторого x программа первым вывела число 6300. Укажите наибольшее возможное значение числа, выведенного вторым.

C++ Паскаль
#include <iostream>

using namespace std;

int main()

{

  int x, a, b, d;

  cin >> x;

  a = 1; b = 0;

  while (x > 0) {

    d = x % 10;

    a *= d;

    if (d > 5)

      b += d;

    x /= 10;

  }

  cout << a << ' ' << b << endl;

  return 0;

}

var x, a, b, d: integer;

begin

  readln(x);

  a := 1; b := 0;

  while x > 0 do begin

    d := x mod 10;   

    a := a * d;

    if d > 5 then

      b := b + d;

    x := x div 10

  end;

  writeln(a, ' ', b)
end.

Python Алгоритмический язык
x = int(input())

a = 1; b = 0

while x > 0:

  d = x%10

  a *= d

  if d > 5:   

    b += d

  x //= 10

print(a,b)

алг

нач

  цел x, a, b, d

  ввод x

  a := 1; b := 0

  нц пока x > 0   

    d := mod(x,10)

    a := a * d

    если d > 5

      то b := b + d

    все

    x := div(x,10)

  кц

  вывод a, ' ', b, нс

кон

 

23. Исполнитель преобразует число на экране.

У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1

2. Умножить на 2

Первая команда увеличивает число на экране на 1, вторая умножает его на 2.

Программа для исполнителя – это последовательность команд.

Сколько существует программ, которые преобразуют исходное число 1 в число 11 и при этом содержат не более двух команд умножения?

 

25. Пусть M(k) = 7 000 000 + k, где k – натуральное число. Найдите пять наименьших значений k, при которых M(k) нельзя представить в виде произведения трёх различных натуральных чисел, не равных 1.

В ответе запишите найденные значения k в порядке возрастания.

 

26. При проведении эксперимента заряженные частицы попадают на чувствительный экран, представляющий из себя матрицу размером 10 000 на 10 000 точек. При попадании каждой частицы на экран в протоколе фиксируются координаты попадания: номер ряда (целое число от 1 до 10 000) и номер позиции в ряду (целое число от 1 до 10 000).

Точка экрана, в которую попала хотя бы одна частица, считается светлой, точка, в которую ни одна частица не попала, – тёмной.

Вам  необходимо  по  заданному  протоколу  определить  номер  ряда с наибольшим количеством светлых точек в чётных позициях. Если таких рядов несколько, укажите минимально возможный номер.

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

Первая строка входного файла содержит целое число N – общее количество частиц, попавших на экран. Каждая из следующих N строк содержит 2 целых числа: номер ряда и номер позиции в ряду.

В ответе запишите два целых числа: сначала наибольшее количество светлых точек в чётных позициях одного ряда, затем – номер ряда, в котором это количество встречается.

Файл: скачать

 

27. Дана последовательность натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, состоящие более чем из ста элементов. Необходимо определить количество таких подпоследовательностей, сумма элементов которых кратна 999.

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

Первая строка входного файла содержит целое число N – общее количество чисел в наборе. Каждая из следующих N строк содержит одно число. Гарантируется, что число в ответе не превышает 2 ∙ 109.

Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем – для файла B.

Файл A: скачать

Файл B: скачать