Последнее задание егэ информатика

Привет! Сегодня мы рассмотрим последнее 27 задание из ЕГЭ по информатике 2021.

Решить 27 задание из ЕГЭ по информатике очень важно, ведь оно самое трудное, и за него дают, как правило, больше всего вторичных баллов.

Перейдём к практике 27 задания из ЕГЭ по информатике.

Задача (Демонстрационный вариант 2021)

Имеется набор данных, состоящий из пар положительных целых чисел.
Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма
всех выбранных чисел не делилась на 3 и при этом была максимально
возможной. Гарантируется, что искомую сумму получить можно.

Программа должна напечатать одно число – максимально возможную
сумму, соответствующую условиям задачи.

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

Даны два входных файла (файл A и файл B), каждый из которых содержит
в первой строке количество пар N (1 ≤ N ≤ 100000). Каждая из следующих
N строк содержит два натуральных числа, не превышающих 10000

Пример организации исходных данных во входном файле:

6
1 3
5 12
6 9
5 4
3 3
1 1

Для указанных входных данных значением искомой суммы должно быть
число 32.

В ответе укажите два числа: сначала значение искомой суммы для файла А,
затем для файла B.

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

Решение:

Напишем программу на языке программирования Pascal ABC для решения этого 27 задание из Демонстрационного варианта ЕГЭ по информатике.

var
  f: text;
  i, sum, min_range, x, y, n: integer;
 
begin
  assign(f, 'c:27-A.txt');
  reset(f);
  
  read(f, n);
  
  min_range:=10001;
  sum:=0;
  
  for i:=1 to n do begin
    read(f, x);
    read(f, y);

    if x>y then 
      sum:=sum+x
    else
      sum:=sum+y;

    if (abs(x-y) < min_range) and (abs(x-y) mod 3 <> 0) then
       min_range := abs(x-y);
  end;
    
  if sum mod 3 <> 0 then Writeln(sum)
    else Writeln(sum-min_range);
  
end.

В начале считаем левый столбик чисел в массив m, а правый столбик в массив k.

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

Идея задачи следующая: Если максимальная сумма делится на 3, то мы должны отнять переменную min_range от максимальной суммы. Это означает, что мы заменили какой-то элемент суммы. При этом новое значение точно не будет делиться на 3, ведь min_range — Не делится на 3! Плюс min_range — это минимальная разница между числами, а значит, сумма будет максимально возможной.

Не забудьте заменить при обработке файла 27-A.txt значение для константы n на 20.

Ответ:

Решим ещё одну примерную задачу из 27 задания ЕГЭ по информатике.

Задача (Тройки чисел)

Набор данных состоит из троек натуральных чисел. Необходимо распределить все числа на три группы, при этом в каждую группу должно попасть ровно одно число из каждой исходной тройки. Сумма всех чисел в первой группе должна быть чётной, во второй — нечётной. Определите минимально возможную сумму всех чисел в третьей группе.

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

Первая строка входного файла содержит число N — общее количество троек в наборе. Каждая из следующих N строк содержит три натуральных числа, не превышающих 10 000.

Пример входного файла:
3
1 2 3
8 12 4
6 9 7

Для указанных данных искомая сумма равна 11, она соответствует такому распределению чисел по группам: (2, 8, 7), (3, 12, 9), (1, 4, 6).

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

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

Источник: https://inf-ege.sdamgia.ru/

Решение:

Запрограммируем задачу на языке программирования Pascal ABC.

var
  f: text;
  i, n, sum1, sum2, sum3, min_range, min, x, y, z: integer;

begin
  assign(f, 'c:27-B.txt');
  reset(f);
  
  read(f, n);
  
  sum1:=0;
  sum2:=0;
  sum3:=0;
  
  min_range:=10001;

  for i:=1 to n do begin
    
    read(f, x);
    read(f, y);
    read(f, z);
  
    min:=x;
    
    if y < min then min:=y;
    if z < min then min:=z;
    
    sum1:=sum1+min;
    
    if (x=min) then begin    
      sum2 := sum2 + y;
      sum3 := sum3 + z;    
    end else begin
    
        if (y=min) then begin    
          sum2 := sum2 + x;
          sum3 := sum3 + z;    
        end else begin
    
            if (z=min) then begin    
              sum2 := sum2 + x;
              sum3 := sum3 + y;    
            end;

        end; 

    end;
    
    if (x <> min) and (x-min < min_range) and ((x - min) mod 2 <> 0) then 
      min_range := x-min;
    
    if (y <> min) and (y-min < min_range) and ((y - min) mod 2 <> 0) then 
      min_range := y-min;
    
    if (z <> min) and (z-min < min_range) and ((z - min) mod 2 <> 0) then 
      min_range := z-min;
    
  end;
  
    if (sum2 + sum3) mod 2 <> 0 then
        writeln(sum1)
    else writeln(sum1 + min_range);

end.

В переменную sum1 мы будем суммировать минимальное число из каждой тройки. В переменные sum2 и sum3 суммируем оставшееся числа из тройки (Порядок будет не важен). В переменной min_range получим минимальную разницу между минимальными значениями и оставшимися числами из каждой тройки, причём, эта разница должна быть нечётная.

Ключевой момент: Если сумма одного столбца будет чётной, а второго столбца — нечётной, то сумма этих двух столбцов будет нечётной.

Пример: 5+8=13, 13+4=17 и т.д. Наоборот: 4+6=10, 3+3=6.

Если у нас такая ситуация будет, тогда достаточно распечатать переменную sum1 (Т.е. тот столбец, где находятся минимальные числа).

Если ситуация будет другая, то достаточно заменить числа в той паре, которая дала нам переменную min_range. Тогда сумма в sum1 возрастёт на значение min_range.

Т.к. значение переменной min_range является нечётным, то после замены, sum2+sum3 — будет нечётной, что означает, что одно значение будет чётным, а другое нечётное.

Ответ:

Рассмотрим задачу с популярного сайта по информатике К.Ю. Полякова.

Задача (На закрепление)

(№ 2683) Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел НЕ оканчивалась на 5 и при этом была максимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число – максимально возможную сумму, соответствующую условиям задачи.
Входные данные. Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар N (1 ≤ N ≤ 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

Пример входного файла:

6
3 5
5 12
6 9
5 4
7 9
5 1

Для указанных входных данных значением искомой суммы должно быть число 44.

В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

Источник: https://kpolyakov.spb.ru/

Решение:

Задача похоже на демонстрационный вариант из ЕГЭ по информатике 2021.

var
  f: text;
  i, sum, min_range, x, y, n: integer;

begin
  assign(f, 'c:27-23b.txt');
  reset(f);
  
  read(f, n);
  
  min_range:=10001;
  sum:=0;
  
  for i:=1 to n do begin
    read(f, x);
    read(f, y);

    if x>y then 
      sum:=sum+x
    else
      sum:=sum+y;

    if (abs(x-y) < min_range) and (abs(x-y) mod 10 <> 0) then
       min_range := abs(x-y);
  end;
    
  if sum mod 10 <> 5 then Writeln(sum)
    else Writeln(sum-min_range);
  
end.

Теперь мы ищем минимальную разницу между числами, которая не оканчивается на 0! И кладём её в переменную min_range. Если сумма наибольших чисел оканчивается на 5, то мы вычитаем из этой суммы переменную min_range, и тогда точно сумма не будет оканчиваться на 5. Т.к. в переменной min_range значение минимальное из всех возможных, значит, сумма останется максимальной.

Ответ:

А если просят минимальную сумму? просто поменять знаки не помогает, не могу додуматься

Решение задач

 
*** КАНАЛ ЮТЬЮБ ***

Выберите номер задания ЕГЭ с разбором примеров:

Структура заданий ЕГЭ по информатике

С 2021 года структура заданий и начисления баллов:

  • Длительность ЕГЭ по информатике составляет 3 часа 55 минут или 235 минут.
  • Задания выполняются с помощью компьютера. На протяжении всего экзамена будут доступны текстовый редактор, редактор электронных таблиц и системы программирования.
  • На ЕГЭ допустимо использование следующих языков программирования: С++, Java, C#, Pascal, Python, Школьный алгоритмический язык.
  • На экзамене будет разрешено использование программы Microsoft Windows «Калькулятор», а также графического редактора Microsoft Paint.
  • При проведении ЕГЭ по информатике выдача КИМ на бумажных носителях не планируется.
  • Кроме того, учащемуся будет предоставлен бумажный черновик для решения заданий «на бумаге». Но ответ необходимо внести в систему на компьютере.
  • Задания ЕГЭ по информатике делятся на два типа: с использованием заготовленных на компьютере файлов (для выполнения которых требуется использование специализированного программного обеспечения) и без использования таковых.
  • По уровню сложности: Базовый – 10 заданий (с № 1 по № 10), Повышенный – 13 (с № 11 по № 23), Высокий – 4 (с № 24 по № 27).
  • Максимальный первичный балл за работу – 30.
  • Общее время выполнения работы – 235 мин

Инструкция для участника КЕГЭ по использованию ПО для сдачи экзамена по информатике и ИКТ в компьютерной форме

Дата проведения (ГИА) ЕГЭ по информатике в 2023 году (ФИПИ)

Досрочный период:
Основной период:
Резерв:
Дополнительный период:

Шкала перевода баллов ЕГЭ по информатике

Таблица перевода первичных баллов в тестовые баллы для проведения ЕГЭ:

(* таблица является ориентировочной (проект), данные уточняются, шкалы для 2023 года пока нет)

Первич
балл
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Тестов
балл
7 14 20 28 35 40 44 46 49 51 54 56 59 61 64 66 69 71
Первич
балл
19 20 21 22 23 24 25 26 27 28 29
Тестов
балл
74 77 80 82 85 87 90 92 95 97 100

Минимальное количество баллов в 2021 г. — 43 балла

1 балл начисляется за выполнение заданий 1-24
2 балла начисляется за выполнение заданий 25-27

Тренировочные варианты (КИМы) 

Подборка вариантов ЕГЭ 2022 по информатике для 11 класса с ответами.

vk.com/info_ege_academiaa
вариант 1 ответы доп. файлы
вариант 2 ответы доп. файлы
вариант 3 ответы доп. файлы
вариант 4 ответы доп. файлы
вариант 5 ответы доп. файлы
вариант 6 ответы доп. файлы
вариант 7 ответы доп. файлы
вариант 8 ответы доп. файлы
вариант 9  ответы доп. файлы
вариант 10 ответы доп. файлы
вариант 11 ответы доп. файлы
вариант 12 от 11.03.22 ответы доп. файлы
vk.com/inform_web
вариант 1 разбор файлы
вариант 2 разбор
vk.com/ege100ballov
Вариант 1 доп. файлы

Инструкция по выполнению работы

Экзаменационная работа состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера.

На выполнение экзаменационной работы по информатике отводится 3 часа 55 минут (235 минут).

Экзаменационная работа выполняется с помощью специализированного программного обеспечения, предназначенного для проведения экзамена в компьютерной форме.

При выполнении заданий Вам будут доступны на протяжении всего экзамена текстовый редактор, редактор электронных таблиц, системы программирования.

Расположение указанного программного обеспечения на компьютере и каталог для создания электронных файлов при выполнении заданий Вам укажет организатор в аудитории.

На протяжении сдачи экзамена доступ к сети Интернет запрещён.

При выполнении заданий можно пользоваться черновиком. Записи в черновике не учитываются при оценивании работы.

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

Связанные страницы:

Задание 11 ЕГЭ по информатике

Задание №5 ЕГЭ по информатике — практика

Открытый вариант ЕГЭ по информатике 2021 от ФИПИ

Задание №2 ЕГЭ по информатике — практика

Разбор задания № 17 ЕГЭ по информатике — проверка делимости чисел

12 задание ЕГЭ по информатике обычно решает только половина выпускников. Оно правда такое сложное? Нет, если заранее изучить каждый из трех прототипов. Из этой статьи вы узнаете, как справиться с Редактором, Роботом и Чертежником — и как можно сделать это еще проще, используя программирование.

12 задание ЕГЭ по информатике

Прототипы задания 12 и их сложности

12 задание ЕГЭ по информатике относится к повышенному уровню сложности. На экзамене за него можно получить один первичный балл.

Это задание — часть блога «Алгоритмизация». Чтобы решить его, нужно уметь работать с алгоритмами и анализировать их. В этом задании могут встретиться три прототипа заданий: Редактор, Робот и Чертежник. Причем Редактор встречается на экзамене в последнее время чаще других прототипов.

Редактор — это прототип на работу с цепочками цифр или букв. Нам дают алгоритм и строку, содержащую некоторое количество знаков. Нужно узнать, какая строка получится после выполнения программы или посчитать количество символов в строке. 

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

Робот — прототип на работу с клетчатой плоскостью и алгоритмом. Вам дают алгоритм и плоскость, содержащую 36 клеток. Нужно найти количество клеток, удовлетворяющее определенному условию. Сложность в том, что ученики начинают проверять все 36 клеток. Делать это не нужно, если проанализировать алгоритм из условия.

Чертежник — прототип на работу с алгоритмом, где исполнитель перемещается по координатной плоскости. Чаще всего в таких заданиях в алгоритме есть пропуски в командах. Нужно найти наибольшее количество повторений цикла. Сложностей обычно здесь не так много, основная — невнимательность при выполнении вычислений.

Самостоятельно подготовиться к ЕГЭ непросто. На то, чтобы разобраться со всеми темами, понадобится много времени. Но и это не решит проблему! Например, если вы запомнили какое-то решение из интернета, а оно оказалось неправильным, можно на пустом месте потерять баллы. Если хотите научиться решать все задания ЕГЭ по информатике, обратите внимание на онлайн-курсы MAXIMUM! Наши специалисты уже проанализировали сотни вариантов ЕГЭ и подготовили для вас вас максимально полезные занятия.

Приходите к нам на консультацию — вы сможете пройти диагностику по выбранным предметам ЕГЭ, поставить цели и составить стратегию подготовки, чтобы получить на экзамене высокие баллы. Все это абсолютно бесплатно!

Редактор — как решать?

Задания с прототипом «Редактор» можно решать как аналитически, так и с помощью компьютера, если у вас все хорошо с программированием. Мы рассмотрим с вами оба способа решения и убедимся, что они дают одинаковые ответы.

Пример 1 (Редактор)

Исполнитель Редактор получает на вход строку цифр и преобразовывает ее.

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

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

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

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

12 задание ЕГЭ по информатике

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

12 задание ЕГЭ по информатике

Аналитическое решение

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

Сначала уберем по возможности все четверки из цепочки.

88 / 3 = 29 и 1 в остатке. 

Получается, что из цепочки уйдет 29 блоков по 3 четверки и образуется 29 единиц, 1 четверка останется в цепочке в самом конце.

Теперь будем последовательно убирать единицы из цепочки.

29 “1” + 1 “4”

1 “4” + 27 “1” + 1 “4”

2 “4” + 25 “1” + 1 “4”

3 “4” + 23 “1” + 1 “4”

24 “1” + 1 “4”

Как только в цепочке появились 3 четверки, алгоритм заменил их назад на единицу. Суммарно из цепочки ушло 5 единиц. Это действие будет повторяться циклически, поэтому можно посчитать, сколько блоков по 5 единиц уйдет из цепочки.

29 / 5 = 5 и 4 в остатке

Получается, что в цепочке останется 4 единицы и 1 четверка.

11114 → 4114 → 444 → 1

В итоге в цепочке останется только единица.

Решение с помощью компьютера 

В самом задании у нас уже написана программа. Остается перевести ее на конкретный язык программирования. Напишем программу на Python.

Она будет выглядеть следующим образом:

12 задание ЕГЭ по информатике

Создаем строку, содержащую 88 четверок. Далее запускаем цикл, который будет проверять, есть ли в строке 3 четверки или 2 единицы. Пропиваем условие и замену в строке. Важно в методе replace() указать третий параметр, который отмечает, сколько замен нужно выполнить. По умолчанию replace() сразу заменит все цифры в строке, а нам нужно выполнять замены по одной.

При запуске данной программы мы также получим ответ 1.

Ответ: 1

Пример 2 (Редактор)

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

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

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

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

На вход приведенной ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 25 цифр 1, 45 цифр 2 и 10 цифр 3, расположенных в произвольном порядке.

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

Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.

12 задание ЕГЭ по информатике

Аналитическое решение 

Цифры 1, 2 и 3 находятся в строке в произвольном порядке. Все, что нам нужно сделать, чтобы получить ответ — это понять, сколько цифр образовалось в результате замен. 

Каждую единицу алгоритм заменит на тройку. Если изначально было 25 единиц, то в результате замен образуется 25 троек, и их сумма будет равна 25 * 3 = 75.

Каждую двойку алгоритм заменит на 2 единицы. Изначально было 45 двоек, значит, в результате замен образуется 90 единиц. Их сумма будет равна 90.

Каждую тройку алгоритм заменит на 2 тройки. Было 10 троек, станет 20. Сумма составит 20 * 3 = 60.

Итоговая сумма всех цифр цепочки будет равна 75 + 90 + 60 = 225.

Решение с помощью компьютера

Перенесем алгоритм на язык программирования Python.

Получаем следующую программу:

Сначала мы задали строку, содержащую знак “>” и нужное количество всех цифр. Далее в цикле проверяем наличие знака “>” и цифр и выполняем замену. Как только программа вышла из цикла, считаем количество единиц, двоек и троек в строке — и находим сумму. При запуске программы также получается ответ 225.

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

Ответ: 225

Робот — как решать?

Второй прототип, который включает в себя 12 задание ЕГЭ по информатике — Робот. Этот прототип точно придётся решать аналитически, поэтому давайте разбираться, как сделать это с минимальными затратами времени.

Пример 3 (Робот)

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. 

Команды-приказы: вверх, вниз, влево, вправо

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервется.

Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева свободно, справа свободно

Цикл

ПОКА < условие > команда

Выполняется, пока условие истинно, иначе происходит переход на следующую строку.

Если РОБОТ начнет движение в сторону стены, то он разрушится, и программа прервется. 

Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?

НАЧАЛО

ПОКА < снизу свободно > вправо

ПОКА < справа свободно > вверх

ПОКА < сверху свободно > влево

ПОКА < слева свободно > вниз

КОНЕЦ

12 задание ЕГЭ по информатике

Решение

Чтобы не проверять все 36 клеток плоскости, нужно проанализировать программу. В алгоритме 4 цикла, но нам важен только последний. Робот будет выполнять действия и остановится только в той клетке плоскости, где слева есть стена, так как в последнем цикле мы проверяем именно это условие. Поэтому необходимо проверить только те клетки, где слева есть стена. В остальных клетках плоскости Робот просто не сможет остановиться, поэтому и начинать движение из них мы тоже не будем.

12 задание ЕГЭ по информатике

Проверяем по алгоритму 12 отмеченных клеток. 

Из всех отмеченных клеток нам подойдет только клетка В5. Если начать движение из нее, Робот вернется в эту же точку. Остальные клетки не подойдут, так как Робот либо разобьется, либо остановится в другой клетке.

Ответ: 1

Прототип Чертежник — как решать?

Последний прототип, который составители включили в 12 задание ЕГЭ по информатике — это Чертежник. Здесь при решении важно правильно составить систему уравнений и найти наибольший/наименьший делитель двух чисел. Посмотрим, как это сделать.

Пример 4 (Чертежник)

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

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

Цикл

ПОВТОРИ число РАЗ

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

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (количество повторений и величины смещения в первой из повторяемых команд неизвестны):

В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?

Решение

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

12 задание ЕГЭ по информатике

Далее составим систему уравнений. Нам известно, как перемещался Чертежник, и сказано, что он вернулся в начальную точку. Получается, его перемещение равно 0.

Теперь мы можем найти n — наибольшее количество повторений цикла. Число n должно быть делителем как 24, так и 16, то есть нам нужно найти НОД(24, 16). Он равен 8. Это и будет ответом к заданию.

Ответ: 8

Что нужно запомнить?

  1. Если вам попадется Редактор, можете написать программу, которая найдет ответ вместо вас. Но всегда рассчитывайте, что будет рациональнее: аналитическое решение или компьютерное. Если останется время, можно проверить себя вторым способом.
  2. Решая задание с Роботом, не нужно проверять все клетки — это долго. Проанализируйте алгоритм и проверяйте только те клетки, которые действительно могут подойти под условия.
  3. Чтобы разобраться с Чертежником, внимательно составляйте систему уравнений. Ищите НОД, если нужно найти наибольшее количество повторений цикла. 
  4. Если в конце экзамена осталось время, вернитесь к заданию и проверьте его — ребята часто теряют баллы из-за невнимательности. Особенно рекомендую перепроверить Робота — решите его заново. 

Теперь вы знаете, как решать 12 задание ЕГЭ по информатике! Обязательно прочитайте наш гайд по этому экзамену, если хотите разобраться с остальными темами и заданиями. Там вы найдете структуру экзамена, актуальные прототипы, тематические блоки и лайфхаки от наших преподавателей. Желаем удачи в подготовке 🙂

За это задание ты можешь получить 1 балл. На решение дается около 5 минут. Уровень сложности: повышенный.
Средний процент выполнения: 51.9%
Ответом к заданию 20 по информатике может быть цифра (число) или слово.

Разбор сложных заданий в тг-канале

Задачи для практики

Задача 1

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

1. Прибавить к одной (любой) куче два камня.

2. Увеличить количество камней в одной (любой) куче в два раза.

Например, если в одной куче лежит 5 камней, а во второй 7. Обозначим эту ситуацию (5;7). Из этой позиции за один ход можно получить 4 варианта: (10; 7), (7; 7), (5, 9) и (5, 14).

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

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

Для игры, описанной в 19-ом задании, для начальной позиции (10; 42) укажите, кто из игроков имеет выигрышную стратегию. Укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. В ответе укажите имя игрока и количество ходов без пробелов и разделителей, например, «Влад3».

Решение

Для начальной позиции (10; 42) выигрывает Паша своим вторым ходом.

Чтобы выиграть, Паша должен после своего хода получить позицию (10; 44). Для этого он должен увеличить на 2 число камней либо во второй куче. Считая позицию (10; 44) начальной, мы приходим к рассмотрению ситуации задания 19.

Как уже было показано ранее, в этом случае выигрывает тот, кто ходит вторым. Значит, выиграет Паша своим вторым ходом.

Ответ: Паша2

Задача 2

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

1. Прибавить к куче один камень.

2. Прибавить к куче два камня.

3. Увеличить количество камней в куче в два раза.

Например, если в куче лежит 5 камней, из этой позиции за один ход можно получить 6, 7 или 10 камней.

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

В начальный момент времени в куче было S камней, где 1 ≤ S ≤ 22.

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

Для игры, описанной в 19-ом задании, найдите два значения S, при которых Паша имеет выигрышную стратегию, при которой одновременно выполняется два условия:

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения S: 10 и 9. В этих случаях Паша, очевидно, не может выиграть первым ходом. Однако, добавив в кучу 1 или 2 камня, он может получить кучу из 11 камней. Эта позиция разобрана в 19-ом задании. Если в куче 11 камней, то игрок, который будет ходить (теперь это Влад), выиграть не может, а его противник (то есть Паша) следующим ходом выиграет.

Ответ: 910

Задача 3

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

1. Прибавить к куче один камень.

2. Прибавить к куче два камня.

3. Увеличить количество камней в куче в два раза.

Например, если в куче лежит 5 камней, из этой позиции за один ход можно получить 6, 7 или 10 камней.

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

В начальный момент времени в куче было S камней, где 1 ≤ S ≤ 40.

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

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

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения S: 19 и 18. В этих случаях Паша, очевидно, не может выиграть первым ходом. Однако, добавив в кучу 1 или 2 камня, он может получить кучу из 20 камней. Эта позиция разобрана в 19 задании. Если в куче 20 камней, то игрок, который будет ходить (теперь это Влад), выиграть не может, а его противник (то есть Паша) следующим ходом выиграет.

Ответ: 1819

Задача 4

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

1. Прибавить к куче один камень.

2. Увеличить количество камней в куче в три раза.

Например, если в куче лежит 5 камней, то из этой позиции за один ход можно получить 6 или 15 камней.

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

В начальный момент времени в куче было S камней, где 1 ≤ S ≤ 108.

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

Для игры, описанной в 19-ом задании, найдите два значения S, при которых Паша имеет выигрышную стратегию, при которой одновременно выполняется два условия:

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения S: 12 и 35. В этих случаях Паша, очевидно, не может выиграть первым ходом. Однако, добавив в кучу с 35 камнями 1 камень или утроив кучу из 12 камней, он может получить кучу из 36 камней. Эта позиция разобрана в задании 19. Если в куче 36 камней, то игрок, который будет ходить (теперь это Влад), выиграть не может, а его противник (то есть Паша) следующим ходом выиграет.

Ответ: 1235

Задача 5

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

1. Прибавить к куче два камня.

2. Увеличить количество камней в куче в два раза.

Например, если в куче лежит 5 камней, из этой позиции за один ход можно получить 7 или 10 камней.

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

В начальный момент времени в куче было S камней, где 1 ≤ S ≤ 28.

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

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

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения S: 12 и 7. В этих случаях Паша, очевидно, не может выиграть первым ходом. Однако, добавив в кучу с 12 камнями 2 камня или удвоив кучу из 7 камней, он может получить кучу из 14 камней. Эта позиция разобрана в задании 19.

Если в куче 14 камней, то игрок, который будет ходить (теперь это Влад), выиграть не может, а его противник (то есть Паша) следующим ходом выиграет.

Ответ: 712

Задача 6

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

1. Прибавить к одной (любой) куче один камень.

2. Увеличить количество камней в одной (любой) куче в два раза.

Например, если в одной куче лежит 5 камней, а во второй 7. Обозначим эту ситуацию (5;7). Из этой позиции за один ход можно получить 4 варианта: (6; 7), (10; 7), (5, 8) и (5, 14).

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

В начальный момент времени в первой куче было 7 камней, а во второй S, где 1 ≤ S ≤ 69.

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

Для игры, описанной в 19-ом задании, найдите два значения S, при которых Паша имеет выигрышную стратегию, при которой одновременно выполняется два условия:

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения: 31 и 34.

Если начальная позиция (7; 31), Паша увеличивает количество камней в первой куче в два раза и получает позицию (14; 31).

Из позиции (14; 31) Влад может получить четыре различные позиции, ни в одной из которых он не побеждает: (15; 31), (28, 31), (14, 32), (14, 62).

В каждой из этих позиций Паша может выиграть своим вторым ходом: (15; 62), (28, 62), (14, 63), (14, 124).

Если начальная позиция (7; 34), Паша увеличивает количество камней в первой куче на один и получает позицию (8; 34).

Из позиции (8; 34) Влад может получить четыре различные позиции, ни в одной из которых он не побеждает: (9; 34), (16, 34), (8, 35), (8, 68).

В каждой из этих позиций Паша может выиграть своим вторым ходом: (9; 68), (16, 68), (8, 70), (8, 136).

Ответ: 3134.

Ответ: 3134

Задача 7

Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в пять раз. Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 14 или 50 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 84.

Победителем считается игрок, сделавший последний ход, т. е. первым получивший кучу, в которой будет 84 или больше камней. В начальный момент в куче было S камней; 1 ≤ S ≤ 72.

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

Найдите два таких значения S, при которых у Паши есть выигрышная стратегия, причём одновременно выполняются два условия:

— Паша не может выиграть за один ход;

— Паша может выиграть своим вторым ходом независимо от того, как будет ходить Валя.

Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.

Решение

Решение при помощи программы на С++:

bool comp(int a, int b) {return a < b;};

int main() {
int S[84]; // тут задаётся мин. значение для выигрыша
for (int i = 0; i < 84; ++i)
if (i < 17) // при каком наим. S можно выиграть за один ход? 84/5
S[i] = 0;
else
S[i] = 1; // выигрыш за один ход
for (int z = 0; z < 50; ++z)
for (int i = 0; i < 84; ++i) {
// если ещё не обработана позиция
if (S[i] == 0)
// если любым ходом попадает в выигрышную позицию для второго игрока
if (S[i + 1] > 0 && S[i + 4] > 0 && S[i * 5] > 0)
S[i] = max({S[i + 1], S[i + 4], S[i * 5]}, comp) * -1;
// если одним из ходов может перевести в проигрышную позицию для второго игрока
else if (S[i + 1] < 0 || S[i + 4] < 0 || S[i * 5] < 0)
S[i] = max({abs(S[i + 1]), abs(S[i + 4]), abs(S[i * 5])}, comp) + 1;
}
return 0;
}

Нас интересуют позиции, в которых находится значение 2, что означает: игрок, ходящий первым, выигрывает за 2 хода. Для этого запускаем цикл:

for (int i = 0; i < 84; ++i)
if (S[i] == 2)
cout << i << " ";

Программа выдаст ответ: 12 15

Ответ: 1215

Задача 8

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

1. Прибавить к одной (любой) куче один камень.

2. Увеличить количество камней в одной (любой) куче в два раза.

Например, если в одной куче лежит 5 камней, а во второй 7. Обозначим эту ситуацию (5;7). Из этой позиции за один ход можно получить 4 варианта: (6; 7), (10; 7), (5, 8) и (5, 14).

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

В начальный момент времени в первой куче было 6 камней, а во второй S, где 1 ≤ S ≤ 54.

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

Для игры, описанной в 19-ом задании, найдите два значения S, при которых Паша имеет выигрышную стратегию, при которой одновременно выполняется два условия:

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения: 24 и 26.

Если начальная позиция (6; 24), Паша увеличивает количество камней в первой куче в два раза и получает позицию (12; 24).

Из позиции (12; 24) Влад может получить четыре различные позиции, ни в одной из которых он не побеждает: (13; 24), (24, 24), (12, 25), (12, 48).

В каждой из этих позиций Паша может выиграть своим вторым ходом: (13; 48), (24, 48), (12, 50), (12, 96).

Если начальная позиция (6; 26), Паша увеличивает количество камней во второй куче на один и получает позицию (6; 27).

Из позиции (6; 27) Влад может получить четыре различные позиции, ни в одной из которых он не побеждает: (7; 27), (12, 27), (6, 28), (6, 54).

В каждой из этих позиций Паша может выиграть своим вторым ходом: (7; 54), (12, 54), (6, 56), (6, 108).

Решение при помощи прграммы на С++

int main() {
int S[100][100]; // тут задаётся мин. значение для выигрыша
for (int i = 0; i < 100; ++i)
for (int j = 0; j < 100; ++j)
// при каком наим. S можно выиграть за один ход? 84/5
if (i*2 + j >= 61 || i + j*2 >= 61) // выигрыш за один ход
S[i][j] = 1;
else
S[i][j] = 0;
for (int z = 0; z < 50; ++z)
for (int i = 0; i < 100; ++i)
for (int j = 0; j < 100; ++j) {
// если ещё не обработана позиция
if (S[i][j] == 0)
// если любым ходом попадает в выигрышную позицию для второго игрока
if (S[i + 1][j] > 0 && S[i * 2][j] > 0
&& S[i][j + 1] > 0 && S[i][j * 2] > 0)
S[i][j] = max({S[i + 1][j], S[i * 2][j], S[i][j + 1], S[i][j * 2]}, comp) * -1;
// если одним из ходов может перевести в проигрышную позицию для второго игрока
else if (S[i + 1][j] < 0 || S[i * 2][j] < 0 || S[i][j + 1] < 0 || S[i][j * 2] < 0)
S[i][j] = abs(min({S[i + 1][j], S[i * 2][j], S[i][j + 1], S[i][j * 2]}, comp)) + 1;
}
cout << "№20) ";
for (int i = 1; i < 54; ++i) {
if (S[6][i] == 2)
cout << i << " ";
}
cout << endl << "№21) ";
for (int i = 1; i < 54; ++i) {
if (S[6][i] == -2)
cout << i << " ";
}
return 0;
}

Программа выведет:

№20) 24 26
№21) 23

Ответ: 2426.

Ответ: 2426

Задача 9

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

1. Прибавить к одной (любой) куче один камень.

2. Увеличить количество камней в одной (любой) куче в два раза.

Например, если в одной куче лежит 5 камней, а во второй 7. Обозначим эту ситуацию (5;7). Из этой позиции за один ход можно получить 4 варианта: (6; 7), (10; 7), (5, 8) и (5, 14).

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

В начальный момент времени в первой куче было 9 камней, а во второй S, где 1 ≤ S ≤ 73.

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

Для игры, описанной в 19-ом задании, найдите два значения S, при которых Паша имеет выигрышную стратегию, при которой одновременно выполняется два условия:

-Паша не выигрывает в первый ход;

-Паша выигрывает своим вторым ходом, независимо от хода Влада.

В качестве ответа укажите два числа в порядке возрастания слитно без запятых и разделителей.

Решение

Подходящие значения: 32 и 36.

Если начальная позиция (9; 32), Паша увеличивает количество камней в первой куче в два раза и получает позицию (18; 32).

Из позиции (18; 32) Влад может получить четыре различные позиции, ни в одной из которых он не побеждает: (19; 32), (36, 32), (18, 33), (18, 64).

В каждой из этих позиций Паша может выиграть своим вторым ходом: (19; 64), (36, 64), (18, 66), (18, 128).

Если начальная позиция (9; 36), Паша увеличивает количество камней в первой куче на один и получает позицию (10; 36).

Из позиции (10; 36) Влад может получить четыре различные позиции, ни в одной из которых он не побеждает: (11; 36), (20, 36), (10, 37), (10, 72).

В каждой из этих позиций Паша может выиграть своим вторым ходом: (11; 72), (20, 72), (10, 74), (10, 144).

Ответ: 3236.

Ответ: 3236

Рекомендуемые курсы подготовки

Понравилась статья? Поделить с друзьями:
  • Послевоенный суп сочинение
  • Послевоенное время сочинение егэ
  • После экзаменов нет сил
  • После экзаменов не идут месячные
  • После экзаменов в московской школе к нам приехала городская девочка