Тактика решения задач
Какое-нибудь описание.
- Этапы решения задачи
- Формализация постановки, условий и требований задачи
- Составление чернового алгоритма-решения
- Моделирование объектов для решения
- Версия 0 (хоть какое-то решение)
- Версия 1 (согласно придуманному решению, какая получится)
- Версия 2 (зачищенный чистовой вариант)
Генератор тестовых данных
Проверочное (надежное неэффективное) решение
Домашнее задание
- Имеется большая последовательность объектов (неважно каких), допускающих операцию сравнения. Известно, что некоторых одинаковых объектов в последовательности больше половины. Требуется, не храня последовательности, выяснить, чему они равны (т. е. ривести пример такого объекта). Можно решать на примере чисел.
- Написать генератор тестовых входных данных
Возможно, вам поможет в этом random.shuffle(последовательность)
- Это именная задача. Можете назвать имя автора?
- Написать генератор тестовых входных данных
- Входные данные представляют собой строки следующего вида:
............... .###....####... .###....####... .....##.####... .##..##.####.#. .##..##......#. .........###... ...............
- Символы "#" образуют прямоугольники, причем никакие прямоугольники не касаются ни друг друга (даже углами), ни краев. Посчитать количество прямоугольников.
Последовательность из К элементов можно ?проходить? по следующему алгоритму
- Начало ? в 0-м элементе
- Допустим. он равен N
- Продолжение ? в N-ном элементе
- Допустим, он равен M
- Продолжение ?? в N+M или N-M элементах.
- И так далее: значение текущего элемента можно прибавить или вычесть из индекса, если при этом не выходить за 0?K
- Ввести последовательность, проверить, можно ли добраться до последнего элемента (K-1-го)
Условные обозначения
? тема по Linux
?? тема повышенной сложности
? теоретическое задание
? тема для самостоятельного изучения