• Как работают permissions для бота Discord?

    Данные галочки (в разделе Bot) приведены лишь для быстрого расчёта "сырых" значений прав.

    Скорее всего, библиотека которой вы пользуетесь обрабатывает данные значения за вас:
    3GAJaN4.png
    9A9R2VE.png
    Ответ написан
    Комментировать
  • Как решить задачу правильно?

    @o5a
    Подобная задача проще всего решается через стэк.
    Перебираем постепенно элементы исходного списка.
    Если последний элемент стэка равен противоположному (NORTH-SOUTH и т.п.) текущего элемента списка, то удаляем (stack.pop()) этот элемент из стэка. В противном случае добавляем к стэку. В конце цикла в стэке останется только неисключенные элементы (без пар). Для соответствия пар можно задать словарь.
    Примерно так (спрячу под спойлер, на случай если захочется реализовать самостоятельно):
    spoiler
    def dirReduc(arr):
        dirs = {"NORTH": "SOUTH", "SOUTH": "NORTH", "EAST": "WEST", "WEST": "EAST"}
        stack = []
        for d in arr:
            if stack and dirs[d] == stack[-1]:
                stack.pop()
            else:
                stack.append(d)
        return stack
    Ответ написан
    1 комментарий
  • Как доказать, что муха будет бесконечно разворачиваться?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    От противного. Допустим муха в какой-то момент последний раз отразилась (и это до встречи поездов). Она летит быстрее поезда и долетит до другого поезда быстрее второго поезда и отразится там еще раз. Ибо расстояние между поездами хоть и станет меньше, но все еще будет больше 0. Но мы же предположили, что это было последнее отражение. Противоречие.

    И надо еще доказать, почему не может быть последнее отражение когда поезда встретились. Допустим оба поезда и муха встретились в одной точке. А что было в момент предыдущего отражения? какое-то ненулевое расстояние между поездами. Но если с этого момента проиграть, то следующее отражение будет до момента встречи двух поездов. Опять противоречие.
    Ответ написан
    1 комментарий
  • Создание таблицы sql под отдельный приватный чат. Есть ли смысл и почему?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Короткий ответ: варинты 1 и 2 нормальные, третий очень плохой.
    Оптимальным будет первый вариант, потому что он повлечет за собой меньше всего кода. Просто добавится одно поле Адресат. Таким образом вы легко сможете добавить групповые чаты (кроме основого). вам не нужно будет синхронизировать и унифицировать между собой две отдельные модели сообщения, легко и без лишних кейсов можно сделать цитирование, не придётся писать отдельный код для реализации личных сообщений он удет тем же, что и при работе с общим или групповым чатом.
    Ответ написан
    3 комментария