##master-page:VMSHClassTemplate ##master-date:Unknown-Date #format wiki #language ru = Тактика решения задач = Какое-нибудь описание. * Этапы решения задачи 1. Формализация постановки, условий и требований задачи 1. Составление чернового алгоритма-решения 1. Моделирование объектов для решения 1. Версия 0 (хоть какое-то решение) 1. Версия 1 (согласно придуманному решению, какая получится) 1. Версия 2 (зачищенный чистовой вариант) * {o} Генератор тестовых данных * {o} Проверочное (надёжное неэффективное) решение === Домашнее задание === 1. Имеется большая последовательность объектов (неважно каких), допускающих операцию сравнения. Известно, что некоторых одинаковых объектов в последовательности больше половины. Требуется, не храня последовательности, выяснить, чему они равны (т. е. ривести пример такого объекта). Можно решать на примере чисел. * Написать генератор тестовых входных данных * Возможно, вам поможет в этом `random.shuffle(последовательность)` * Это именная задача. Можете назвать имя автора? 1. Входные данные представляют собой строки следующего вида: {{{ ............... .###....####... .###....####... .....##.####... .##..##.####.#. .##..##......#. .........###... ............... }}} Символы "#" образуют прямоугольники, причем никакие прямоугольники не касаются ни друг друга (даже углами), ни краёв. Посчитать количество прямоугольников. 1. {*} Последовательность из К элементов можно «проходить» по следующему алгоритму 1. Начало — в 0-м элементе 1. Допустим. он равен N 1. Продолжение — в N-ном элементе 1. Допустим, он равен M 1. Продолжение ­— в N+M или N-M элементах. 1. И так далее: значение текущего элемента можно прибавить или вычесть из индекса, если при этом не выходить за 0…K Ввести последовательность, проверить, можно ли добраться до последнего элемента (K-1-го) ==== Условные обозначения ==== . {o} — тема по Linux . ­— тема повышенной сложности . {i} — теоретическое задание . {*} — тема для самостоятельного изучения ---- CategoryClass CategoryVmsh