Сообщения

Сообщения за февраль, 2022

Подсчет путей в ориентированном графе (задача 13)

Изображение
Подсчет путей в ориентированном графе (задача 13)   Хотите готовиться со мной к ЕГЭ? Пишите:  ydkras@mail.r u Немного обо мне .   В задаче 13 ЕГЭ по информатике требуется подсчитать число путей из одного узла в другой. Вот типичная задача (заимствована из демонстрационного варианта ФИПИ по информатике 2022 г.):   "На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.Сколько существует различных путей из города А в город М, проходящих через город В?" Как решать подобные задачи программным путем? Прежде всего надо уметь представлять информацию о графе в форме, удобной для компьютерной обработки. В языке Питон есть очень удобный тип данных для нашей цели: словарь или ассоциативный массив. Это совокупность пар "ключ-значение".  Сначала подготовим исходные данные для заполнения словаря. Создадим текстовый файл, строки которого устроены следующим образом

Количество программ (задача 23)

Количество программ (задача 23)   Хотите готовиться со мной к ЕГЭ? Пишите:  ydkras@mail.ru Немного обо мне .   В задаче 23 ЕГЭ по информатике описывается исполнитель, который может выполнять несколько команд (чаще всего две), например, прибавить 1 или прибавить 3. Требуется найти количество программ, которые преобразуют одно число (исходное) в другое (цель). Например, из числа 2 нужно получить число 15, используя две описанные выше команды. Такая задача решается вручную, но нас здесь интересует программый способ её решения. Получить искомое число программ можно с помощью несложной рекурсивной функции.  Для каждого числа менее цели количество программ, требуемых для её достижения - это сумма числа программ, получаемых с помощью каждой из команд исполнителя.  Заметим, что каждая команда увеличивает число. Поэтому если команда дает результат, превышающий целевое число, то в дальнейшем мы никогда не получим целевого числа. Если текущее число равно целевому, то мы, очевидно, достигли цели.