Вы бы ещё на брейнфаке эту задачу решать взялись. Нет. понятно, что регулярные выражение полны по Тьюрингу, но зачем эти извращения?
Давайте копнём глубже. Для чего автор так извращается? Скорее всего Adamos прав и тут надо было решать по-другому.
carp123, ну тогда решение конкретно только этой задачи вам не поможет. Нужно осваивать учебный материал для которого эта задача прилагается как способ проверки знаний.
Наверно в изученном курсе вы решали подобные задачи.
carp123, ну может и хрен с ней, а?
Оно вам надо?=)
Да и какая теперь разница? Какой смысл увидеть готовое решение, когда при этом вы лишитесь удовольствия когда-нибудь решить ее самостоятельно.
Причем тут наискосок или не наискосок. У вас каждый вариант перемещения точки из всех N**2 - это sqrt((x2-x1)**2+(y2-y1)**2). Не важно наискосок или не наискосок. Это метрика.
Заодно можете поделить это расстояние на скорость точки и получите время перемещения точки.
Итак, у вас N**2 троек: Номер_исходной__точки, Номер_целевой_точки, время.
Вам нужно из этого списка выбрать ровно N элементов, чтобы в них исходные и целевые точки не повторялись и при этом сумма времён была минимальной.
Типичное применение динамического программирования.
Подумать и реализовать электронную обвязку для работы электроники
Если б автор мог продуктивно подумать на эту тему и в итоге что-то реализовать, то, к бабке не ходи, ему не пришлось бы задавать этот вопрос здесь.
Собрать это все.
Ага и ничего не запороть, не спалить и не продырявить горячим паяльником. И чтоб поместилось всё, включая аккумы. И чтоб разьёмы с платами удалось вплавить красивенько. Если у топикстартера такие прямые руки, то я вы, сударь, капитан очевидность.
lexstile, Если тексты ботов отличаются по обозначенным признакам, то да, вопрос лишь в том с каким процентом ошибок. И это не магия, это просто очень простые синтетические ганглии, выведенные кнутами и пряниками для того, чтобы различать то, что они даже не понимают. Вообще человек способен определить текст бота? Какой процент ошибок даёт человек? Учтите, что если у злоумышленников будет большое число дешёвых попыток потестировать вашу нейронку, они сделают свою нейронку, которая будет идеально обманывать вашу.
Wynell_ru, Ну там вроде эти координаты углов единым списком идет в каждом элементе. Надо читать доки и пробовать. Вы читали? Примеры пробовали? Или нужно за вас это делать?
Wynell_ru, судя по тому, что написано в документации, в этот метод передаётся список сопоставлений прямоугольников исходной и новой картинки. Вам нужно такую таблицу построить для своей деформации. Не знаю поддерживаются ли там дробные координаты (толку от такого метода мало, если нет), я бы попробовал задать каждый пиксель результирующей картинки как отдельный прямоугольник и посчитал бы куда он мапится на исходной картинке. Каждое такое сопоставление записывал бы в список и отдал потом для трансформации.
Как посчитать трансформацию - это отдельный вопрос. Гуглите по словам "spline warp distortion"
Ну лично я этой штукой не пользовался, однако, если бы встала такая задача, то всё скорее всего работало примерно так:
- Нарисованное у вас в картинке искажение задётся деформацией границы изображения сплайнами. Есть исходная геометрия и есть искаженная целевая.
- Второй этап - это построение на основе этого искажения непрерывного векторного поля. Грубо говоря путём интерполяции каждому пикселю картинки ставится в соответствие вектор, указывающий куда этот пиксель должен уехать. Хотя логичнее строить наоборот, для каждого пикселя целевой картинки строить вектор откуда следует брать цвет этого пикселя. Очевидно что эти варианты векторного поля друг в друга могут быть пересчитаны. Вот это векторное поле, как я понял, и есть mesh.
- Третий этап - применить векторное поле к реальным пикселям.
- PROFIT!!!!
не понял замысла. зачем так сложно?
У вас N*M операций. Если учесть, что словари в питоне работают за O(1), то решение можно сделать со сложностью O(N+M). Гляньте мой ответ, коллега. Что с ним не так?
catanfa, кому как. Я сделал несколько Потапов на быстрое скачивание ролика и желаю это мгновенно:
Ctr-L, ctrl-c, Ctrl-alt-t, "yd ", ctrl-shift-v, enter
Все, скачивание идет
Давайте копнём глубже. Для чего автор так извращается? Скорее всего Adamos прав и тут надо было решать по-другому.