|
0 / 1 / 0
Регистрация: 24.11.2020
Сообщений: 138
|
|
Джин01.04.2022, 18:09. Показов 1608. Ответов 1
Метки нет (Все метки)
О, высокочтимый отрок, свет очей моих, услада ушей моих, радость души моей! До чего утомительно три тысячи лет сидеть в лампе в виде дыма, без тела, без бороды и без возможности поколдовать! Совсем старый джинн забыл, как это делается! А бывали лучшие времена! Не будет ли глубокоуважаемый отрок так любезен, что напишет класс Джинн, чтобы восстановить былое могущество? Хотя бы частично пока!
Напишите класс Genie, экземпляр которого при инициализации принимает количество волосков в бороде джинна. Всем известно, что именно выдергивая волоски из бороды, джинн исполняет желания того, кто его освободил. Пока желаний будет немного (для начала), и все они – это действия над прямоугольной матрицей, которая символизирует плоское пространство, в котором живут джинн и его освободитель. Все желания выполняются при вызове экземпляра класса с аргументом-желанием (строка указанного вида), матрицей для преобразования и необязательными именованными аргументами sort_order, по умолчанию False, и step, по умолчанию 1. Возможные желания: sort_rows – отсортировать значения в строках матрицы, взятых с шагом step, если sort_order=False, то по возрастанию; параметры применяются аналогично для всех желаний; sort_cols – отсортировать значения столбцах матрицы, взятых с шагом step; sort_all – отсортировать все значения матрицы, взятые из линеаризованной матрицы с шагом step, остальные остаются на своих местах, а затем восстановить ее форму. Каждое желание уменьшает количество волосков в бороде на величину, равную количеству элементов в матрице, пока хватает волосков. Если их недостаточно, преобразование не происходит. Вызов джинна ничего не возвращает, он только меняет переданную в качестве аргумента матрицу. Реализуйте метод get_beard(), возвращающий количество волосков в бороде джинна. Пример 1 Ввод Вывод from solution import Genie data = [[2, 1, 8, 3], [5, 6, 4, 0], [9, 7, 11, 10]] g = Genie(100) g('sort_rows', data) print(*data, sep='\n') print(g.get_beard()) [1, 2, 3, 8] [0, 4, 5, 6] [7, 9, 10, 11] 88 Пример 2 Ввод Вывод from solution import Genie data = [[2, 1, 8, 3, 24, 30], [5, 6, 4, 0, 29, 22], [9, 7, 11, 10, 16, 28], [25, 13, 19, 18, 21, 17], [20, 15, 14, 21, 23, 27]] g = Genie(100) g('sort_rows', data, step=2, sort_order=True) print(*data, sep='\n') print(g.get_beard()) g('sort_cols', data, step=3, sort_order=True) print(*data, sep='\n') print(g.get_beard()) g('sort_all', data, step=4, sort_order=True) print(*data, sep='\n') print(g.get_beard()) [30, 24, 8, 3, 2, 1] [5, 6, 4, 0, 29, 22] [28, 16, 11, 10, 9, 7] [25, 13, 19, 18, 21, 17] [27, 23, 21, 20, 15, 14] 70 [30, 24, 8, 20, 2, 1] [28, 6, 4, 18, 29, 22] [27, 16, 11, 10, 9, 7] [25, 13, 19, 3, 21, 17] [5, 23, 21, 0, 15, 14] 40 [30, 24, 8, 20, 27, 1] [28, 6, 19, 18, 29, 22] [15, 16, 11, 10, 9, 7] [25, 13, 5, 3, 21, 17] [4, 23, 21, 0, 2, 14] 10 История решений Добавить комментарий Справка
0
|
|
| 01.04.2022, 18:09 | |
|
Ответы с готовыми решениями:
1
Джин в кувшине! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
|
||||||
| 01.04.2022, 23:09 | ||||||
Сообщение было отмечено WLRA как решение
Решение
1
|
||||||
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|