TopestKek

TopestKek

MY TANK IS MUCH BETTER THAN YOUR TANK COULD EVER ACIEVE
Пикабушник
Дата рождения: 29 марта
33К рейтинг 45 подписчиков 17 подписок 20 постов 11 в горячем
Награды:
За контакт с инопланетным разумом С Днем рождения, Пикабу!5 лет на Пикабу
2080

Продолжение поста «5000 листиков»5

Сегодня день, когда я обманул честный люд на Пикабу, оклеветал @ViKriGri, и заменил кран.

К сожалению, проводя подсчёт листов я допустил ошибку и не учёл случаи когда появляются диагональные пиксели, которые так же принадлежат одному листу :(

К счастью, @ZhykBafometovich перепроверил мои вычисления тут. Оказывается, листков ровно 5000 и @ViKriGri, была честна со всеми нами. Прости меня Пикабу!!

Здесь можно найти поправленную версию кода (там я ещё учёл что есть островки по 1 пикселю)

Прошу исключить меня из Лиги Упоротых расчётов - я подвел вас всех.

P.S.

В Лиге Программистов оставьте - баги это норма :D

1278

Ответ на пост «5000 листиков»5

UPD: Корректные расчёты тут

В оригинальном посте утверждается, что на изображении 5000 листиков. Проверим-с!

Для ЛЛ: 5037 листиков

Для ЛЛ: 5000 листиков, ТС облажался

Настало время объединить лигу упоротых расчётов, лигу лени и лигу программистов и посчитать сколько же всего листиков в картинке!

Ответ на пост «5000 листиков» ViKriGri, Листья, Лига лени, Python, Программирование, Ответ на пост, Длиннопост, Волна постов

На всякий случай та самая картинка

Обратим внимание, что все листики более-менее одного цвета и каждый из них имеет чёрную рамку, которая сильно отличается от оригинального цвета.

Напишем простенький скрипт:

  • Проходим по всем пикселям

  • Если мы раньше смотрели на этот пиксель - переходим к следующему пикселю

  • Если цвет пикселя примерно совпадает с цветом листа, то увеличиваем счётчик листа и рекурсивно добавляем этот и все соседние пиксели цвета листа в список пикселей

В конце построим версию изображения только из листов чтобы визуально посмотреть не продолбалось ли что-то:

Ответ на пост «5000 листиков» ViKriGri, Листья, Лига лени, Python, Программирование, Ответ на пост, Длиннопост, Волна постов

Вот так выглядит картинка только с листиками

Полную версию скрипта на питоне можно найти тут.

Запускаем, ждём чуток и получаем 5036 листов. Добавим 1 желтый листик и получим финальный ответ:

5037

Это, конечно, больше 5000 обещаных :(

UPD: Там баг, корректные расчёты тут

Показать полностью 2
Отличная работа, все прочитано!