Наш Русский интернет — вещь специфическая. Но почему он такой?… Что с этими людьми?… Ну листай ты дальше, если по делу сказать нечего. Но нет же, как можно. И ведь не поленится, напишет.
На том же Reddit, на любой примитивный вопрос всегда есть развёрнутый ответ с советами и ссылками. Кто-то даже видеоинструкцию специально запишет. Всё как-то по-доброму, будто старший брат мудростью поделился.
Дисклеймер: к экзамену по решениям с сайта решу-егэ готовиться можно. Но жить так нельзя.
Наткнулась с одной ученицей на комбо "задачка с решениями" в ЕГЭ по информатике. Задача из "типа 8" (то, что в экзамене может выскочить под номером 8). Ещё конкретнее - личный номер задачки на сайте 40724.
Поглядим на решения - их несколько разных
Тут полностью поместилось первое "другое решение на языке Python" и заголовок второго
Тут уже только второе "другое решение на языке Python" полностью, но без хвоста туда вправо (скрыто прокруткой)
Хвост последнего "другого решения", увы, не скринится из-за горизонтальной прокрутки, прокрутка не лезет в экран (либо нужны два скрина по горизонтали, мне лень), так что копирую мышкой:
первое длинное if внизу скрина: if a.count('А') == 2 and a.count('С') == 1 and a.count('В') == 1 and a.count('Е') ==1 and a.count('Т')==1 and a.count('Л') == 1 and a.count('Н') == 1:
второе длинное if внизу скрина: if i1 != i2 and i2 != i3 and i3 != i4 and i4 != i5 and i5 != i6 and i6 != i7 and i7 != i8 and (not(a in sett)):
Что не так с последним "другим решением"
Давайте над этим кодом импортируем модуль времени, запомним время на старте, в конце программы запомним ещё время финиша, и, наконец, выведем разность:
import time start = time.time()
(код с сайта)
finish = time.time() print(finish - start)
Мне сейчас вывелось полминуты с хвостом. Это много?
Ну, как сказать. Давайте посмотрим, сколько чего считал мой бедный компьютер.
Переменные i1, i2, ... i8 пробегают отдельно и самостоятельно все элементы имени (слова) "СВЕТЛАНА". Каждая назначается восемью способами, каждая назначается самостоятельно, т.е., имеем восемь в восьмой степени вариантов.
Вычислим это восемь в восьмой приблизительно, округлив вниз: восемь же - это куб двойки. Надо куб двойки в восьмой степени вычислить - двойка в двадцать четвёртой.
Двойка в десятой чуть больше тысячи. Двойка в двадцатой - миллион с хвостом.
Двойка в четвёртой - шишнацать. Шишнацать лямов только одних операций сборки проекта (формирования строки a).
Далее внутри строчки a ведётся подсчёт того-этого уже в первом if. Надо причём понимать, что "подсчёт внутри a" - это последовательный просмотр всей строки каждым счётчиком:
a.count('A') == 2 - потенциально восемь сравнений буквы 'A' с элементами строки a, с добавочным дальше сравнением количества равенств с двойкой.
a.count('С') == 1 - тоже восемь потенциально и др.
Дальше слегка спасает, что if на питоне ленивый - если одно сравнение провалено (скажем, a.count('A') не вышел в двойку), дальше он не посмотрит.
И всё же, всё же. Сколько вариантов, когда он пройдёт в первом if до последних своих трёх сравнений, т.е. окажется истинным
a.count('А') == 2 and a.count('С') == 1 and a.count('В') == 1 and a.count('Е') ==1
?
Оставим этот вопрос читателю в качестве занимательного упражнения.
Да и второй длинный if тоже, пожалуй, оставим.
И напоследок
В ЕГЭ так вот делать можно. Там полминуты не время. Даже минута - не время.
При этом факт, что решение "второе другое" составить-то проще всего. Оно человеко-читаемое более всех.
Вопрос для гиков: как написать решение этой задачи, чтобы работало год?
Конечно все мы слышали про дедлайн и все мы знаем что это такое, но... Дедлайн на выполнение крайнего задания (стол и потолочные светильники) был 2 дня. Я его не делала потому что была на отдыхе в Адыгее, из-за этого же просрочила предыдущий, но отделалась малой кровью, меня в честь праздников пощадили кураторы.
Короче, стол и потолочные светильники я делала с горящей жопенью в последние два часа времени... 3D меня нещадно казнил за то что я торопилась и частенько виснул, видимо комп его не шибко тянет. Но закончила работу я вчера, за 25 минут до дедлайна, + рендеринг нескольких изображений занял 10 минут и сбросила выполненную ДЗ кураторам я в без пяти.)) Конечно, никто ночью его не проверял, но важно было успеть сдать ДЗ до 03.05.) И я успела.)
Вот результат.)
1/2
Столик чуть позже будет стоять на ковре и рисунок уже не будет так сливаться.
Что-то все решали задачу в предположении, что шаров в каждом ящике поровну. Такое предположение мало того, что не дано в условии, но еще и несовместимо с даваемым ответом.
Но ответ многие получили правильный, хотя и неправильным способом.
Вот правильный способ.
Мы знаем, что белых шаров в каждом ящике столько же, сколько красных - во всех остальных.
Б1 = К2 + К3 + ... + К8
Б2 = К1 + К3 + ... + К8
...
Б8 = К1 + К2 + ... + К7
Мы не знаем, чему равны K1, К2 и так далее, но нам это и не нужно. Сколько всего белых шаров?
Трёхходовая композиция испанского проблемиста Валентина Марин и Лловет (Valentin Marin y Llovet, 1872 - 1936) из Барселоны, занявшая четвёртое место в конкурсе международного объединения шахматных композиторов "Good Companions" в 1924 году.
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.