Andrii
Общий проект, у каждого будет исходный код
Понимаешь, для себя это когда я сам придумываю проект, который был бы мне интересен. Например, какой-нить биохакерский трекер биометрик и т. п. А для Вас это когда вы говорите что надо сделать, там клон инстаграма, или ещё что...
Na
Игра обучающая git https://learngitbranching.js.org/?locale=ru_RU
Виталик Голоенко
Почему не заходил?
Ну.. доску 1000 на 1000, бектрекинг не вывезет
m700
в плане?
Ну вон предложил бесплатно им код пописать типа за опыт, круто чо
eye=x×s²
лол
Andrii
Ну.. доску 1000 на 1000, бектрекинг не вывезет
А 1000 x 1000 задача и не решена, мировой рекорд вроде 27x27, там 234 907 967 154 122 52 разных вариантов, из них 29 363 495 934 315 694 уникальных
m700
Не завидуй а
Я а гейбар по выходным хожу, никогда им не завидовал
m700
Очень хорошая практика рекомендую
m700
Там мне впервые и предложили код так пописать
m700
Типа стартап
m700
Игра типа микс берсерка и херстоун.
m700
Я конечно алкоголик но код пишут в двух случаях 1. За бабки 2. Потому что в кайф
Andrii
В задаче нужно найти хоть одну правильную позицию)
Смотреть по коду надо, отсечения надо выбирать как можно чаще, Выбирять ряд с минимальным числом вариантов, и при совпадении я бы смотрел клетки в случайном порядке.
m700
В остальных случаях это словно тя на оргию зовут куколдом
A.
Ппц вы докопались до чела
A.
Ну ищет он челов, напишут те, кому интересно, зачем обсирать то
Andrii
А как заранее узнать, что ветка рекурсии окажется не верной? Как отсекать?
Если у тебя в каком-то ряду все поля по атакой, то можно возвращатья
Виталик Голоенко
Если у тебя в каком-то ряду все поля по атакой, то можно возвращатья
Не понял, ты ж когда одного ферзя ставишь, у тебя уже есть одна вертикаль, горизонталь, и 2 диагонали, где все поля под атакой
Andrii
Куда ты ставишь? Например 1 .... 2 .... 3 .... 4 .... Выставляем ферзя в первый ряд, получаем, остались 2, 3, 4 1 q### 2 ##.. 3 #.#. 4 #..#
Andrii
Тут в каждом ряду два варианта, выбираем, например, третий
Andrii
1 q### 2 ###. 3 #q## 4 #### и мы видим, что это тупик, потому что в четвёртом ряду все поля атакованы
Andrii
Аналогично если поставить в другую кретку в третьем ряду, то все атакованы будут во втором ряду
Andrii
Значит надо возвращаться, и ставить на другое поле
Виталик Голоенко
Аналогично если поставить в другую кретку в третьем ряду, то все атакованы будут во втором ряду
А как нам понять, что есть ряд в котором все ячейки атакованы, каждый раз циклом идти?
Andrii
1 ##.. 2 q### 3 ##.. 4 #.#.
Andrii
А как нам понять, что есть ряд в котором все ячейки атакованы, каждый раз циклом идти?
Можно счётчик, я битовыми масками делал когда-то. Тогда мы за одну операцию сразу проверяем 64 бита
Bogdan
ищите дурака в другом месте
Andrii
А если не силен, в всяких битовых масках)?
Тогда счётчик. Опять же часто используемые варианты можно посчитать заранее.
Виталик Голоенко
Тогда счётчик. Опять же часто используемые варианты можно посчитать заранее.
Делаем для каждого ряда счетчик, и проверяем if counter == row.size()?
Andrii
Делаем для каждого ряда счетчик, и проверяем if counter == row.size()?
Можно и так. Тогда надо быть внимательным, чтобы не увеличивать второй раз то, что увеличено.
Andrii
В общем надо думать (1) как не считать второй раз то, что уже посчитано в первый и (2) как можно раньше узнать, что мы наступили на грабли, и заканчивать перебор
Виталик Голоенко
Можно и так. Тогда надо быть внимательным, чтобы не увеличивать второй раз то, что увеличено.
Ну опять же, даже если так считать, то всеровно для больших досок будет тяжко Мне Игорь говорил что тут нужна "эвристика"
Andrii
Но эвристика скорее, это типа строку, где наименьшее число вариантов... Когда мы выбираем не первый вариант, а тот, который нам кажется более перспективным
Andrii
1 ###.. 2 #q### 3 ###.. 4 .#.#. 5 .#..# Например, тут вопрос, ставить ферзя в первый, третий или в четывёртый или в пятый? Эвристика, например, выбирать там, где меньше вариантов. Например, тут в первой и третьей два варианты, в остальных три. Поэтому интуитивно кажется, что выгондее выбирать первую или третью, потому что там вариантов меньше
Kendal
ищите дурака в другом месте
Ты #бл@n? Кто именно тебя заставляет писать код?
Igor
Ребя такой вопрос, я щас задумался о написании хорошей ридмишки, и у меня дилемма. Важное уточнение - проект фронтендовский. Я считаю, что в ридмишке стоит максимально кратко указать технические моменты запуска, и более подробно описать фишки проекта, что реализовано, стек технологий и мб даже приложить пару скринов, чтобы было визуально понятно даже без запуска. А друг, который в айти крутится в основном в бэке, говорит, что в ридми лучше писать руководство запуска для самых чайников и максимум, какие там можно команды прописывать и какие библиотеки установить. И я вот запутался, как всё таки лучше и правильнее? Не будет ли странно выглядеть проект, у которого в ридми "Можно зарегистрировать пользователя через соответствующую форму логина")
Andrii
Daniil
Какие основные методы прописаны, функции, какие файлы за что отвечает, руководство минимальное
Andrii
Ну тут опять же надо будет делать счетчики, потом проходиться по всем счетчикам и искать с самым маленьким кол-вом пустых клеток
Ну да, надо. Но зато ты будешь сразу определять, что у тебя строка забита, и надо возвращаться. А не так, что у тебя останется ещё 10 строк, одна забита, но ты будешь перебирать 10! вариантов только для того, чтобы потом убедиться, что грабли
Andrii
Мне кажется есть просто какое-то математическо-обоснованое решение, куда чо ставить, и что отсекать
Ну... если бы было, то я думаю, что была бы формула. И было бы написано в вики. Но там бектрекинга более чем достаточно с этими эвристиками
Виталик Голоенко
Ну... если бы было, то я думаю, что была бы формула. И было бы написано в вики. Но там бектрекинга более чем достаточно с этими эвристиками
Если итог подвести, то надо идти рекурсией Сделать массив счетчиков для каждой строки И если будет счетчик равен row.size и при это в строке не будет q, то ретурн false, идем искать другой вариант, да?
Andrii
Вообще пробуй, поставь 16x16 и смотри, какое улучшение как влияет на скорость
Andrii
А, ну и идти по тем строкам, где меньше всего пустых клеток, пон
В общем надо смотреть (1) как мы можем пораньше узнать, что наступили на грабли (2) как выбрать то, что даст больше шансов и (3) смотреть, какие одинаковые вычисления часто повторяются, чтобы вычислять тока один раз
Михаил
я очередной аккаунт решил зарегать, а тут такое
Daniil
😂
Andrii
Вы еще раньше говорили про битовые маски, Где про это можно почитать, и как этим пользоваться?
Не знаю, тут самое тривиальное использование... Я не знаю, честно, я начинал своё программирование с битов, я не помню. Биты это то, что у меня в подкорке. Если advanched уровень, то Д. Кнут, есть глава в 4A
AlexNN
Всем привет. Может кто сталкивался с проблемой, в VS Code emmet не работает корректно с ! знаком, пишет только <!DOCTYPE html>, а раньше писал еще теги hear, meta, body и т.д. Всю голову сломал понять не могу в чем проблема..?
AlexNN
Он вообще с ним ! ни как не хочет работать( только когда начинаешь с <! тогда что то выдает, а так нет(
Михаил
а с одним ! точно не работает?
AlexNN
и с одним ! и стремя не работает(
Михаил
а после чего перестал работать
AlexNN
сам не могу понять, спасибо за помощь!) Починил!))
AlexNN
Если у кого такая же проблема возникнет, нужно пройти в Файл-Настройки-Расширения-emmet найти "Emmet:User inline Completions" и поставить галочку.
David
Помогите пожалуйста, поставил спейсер и рамка сдвинулась вот так. Делаю свою рамку, но оно сдвинулось, как видно
David
Qt (designer)
Oleksii
с февраля пытался зарегаться... вечно ошибку давало... впустя почти полгода... халявный хостинг