Задать вопрос
  • Как решать задачу с графом?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Рекурсивный перебор в глубину из узлов-выходов, ограниченный временем жизни лабиринта, с обнулением посещённых узлов (можно через список посещённых).
    Запоминаем маршрут с максимальной выгодой, потом разворачиваем его, получая прямой путь.
    Отдельно надо обрабатывать вариант, когда два узла соединены путём с нулевым временем. Тут обход может зациклиться.
    Вариант на PHP

    <?php
    
    /*
     * Комната 0 введена для унификации алгоритма.
     * Из неё можно попаст в любой выход, в неё попасть из других комнат нельзя.
     */
    const NODES = [
        0 => ['battleTime' => 0, 'loot' => 0],
        1 => ['battleTime' => 5, 'loot' => 15],
        2 => ['battleTime' => 2, 'loot' => 1],
        3 => ['battleTime' => 3, 'loot' => 5],
        4 => ['battleTime' => 3, 'loot' => 6],
        5 => ['battleTime' => 4, 'loot' => 7],
        6 => ['battleTime' => 5, 'loot' => 9],
        7 => ['battleTime' => 7, 'loot' => 16],
        8 => ['battleTime' => 2, 'loot' => 3],
        9 => ['battleTime' => 0, 'loot' => 0],
        10 => ['battleTime' => 0, 'loot' => 0],
    ];
    
    const ROUTE_TIMES = [
        0 => [9 => 0, 10 => 0],
        1 => [2 => 1],
        2 => [1 => 1, 8 => 2, 9 => 3, 4 => 1],
        3 => [9 => 2, 4 => 4],
        4 => [3 => 4, 2 => 1, 5 => 3],
        5 => [4 => 3, 10 => 1],
        6 => [10 => 4, 7 => 4],
        7 => [8 => 4, 6 => 4],
        8 => [2 => 2, 7 => 4, 10 => 6],
        9 => [3 => 2, 2 => 3],
        10 => [5 => 1, 8 => 6, 6 => 4],
    ];
    
    const MAX_LIFETIME = 25;
    
    function findRoute(array $state): array
    {
        $bestState = $state;
        foreach (ROUTE_TIMES[$state['currentNode']] as $nextNode => $travelTime) {
            $nodeTime = $state['lifetime'] + $travelTime +
                (in_array($nextNode, $state['route']) ? 0 : NODES[$nextNode]['battleTime']);
            if ($nodeTime > MAX_LIFETIME) {
                continue;
            }
            $nodeState = findRoute([
                'lifetime' => $nodeTime,
                'currentNode' => $nextNode,
                'wealth' => $state['wealth'] + (in_array($nextNode, $state['route']) ? 0 : NODES[$nextNode]['loot']),
                'route' => [...$state['route'], $nextNode],
            ]);
            if ($nodeState['wealth'] > $bestState['wealth']) {
                $bestState = $nodeState;
            }
        }
        return $bestState;
    }
    
    $state = findRoute([
        'lifetime' => 0,
        'currentNode' => 0,
        'wealth' => 0,
        'route' => [],
    ]);
    
    echo "Route: ", implode(' => ', array_reverse($state['route'])), "\n";
    echo "Wealth: ", $state['wealth'], "\n";
    echo "Time: ", $state['lifetime'], "\n";

    Route: 8 => 2 => 1 => 2 => 4 => 5 => 10
    Wealth: 32
    Time: 25
    Ответ написан
    Комментировать
  • Можно грохнуть эти параметры пользователя AD?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Это параметры Exchange, для Postfix/Dovecot они роли не играют.
    Ответ написан
    Комментировать
  • Asterisk вызвать свой скрипт после завершение вызова?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А зачем так усложнять себе жизнь? У tcpdump есть фильтр, в нём можно настроить адрес и порт, которые будут записываться. Просто запустите его в отдельном терминале через screen и получите дамп всего обмена с вашим шлюзом.
    А может вам вообще лучше подойдёт sngrep.
    Ну или смотрите в сторону опций F и g у Dial.
    Ответ написан
    Комментировать
  • Как установить AD DS на win server 2019?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А пароль точно у администратора? Пользователь "Администратор" и пользователь в группе "Администраторы" - это не одно и то же.
    Ответ написан
  • SQL сумма продажи за день?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT DATE(payment_date) AS `date`, SUM(amount) AS income
      FROM payment
      WHERE payment_date >= '2005-07-01' AND payment_date < '2005-08-01'
      GROUP BY `date`
    Ответ написан
    4 комментария
  • Почему meta charset="utf-8"/ работает только если сместить кавычку на meta "charset=utf-8"?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Раз код писали в блокноте, то, скорее всего, в Windows. Значит сохранили в кодировке windows-1251.
    Когда пишете тэг правильно, <meta charset="utf-8">, то указанная вами кодировка utf-8 не совпадает с реальной кодировкой текста, отображаются вопросики.
    Когда пишете тэг неправильно, то он игнорируется и кодировка распознаётся правильно, отображается нормальный текст.
    Кодировка, указанная в тэге, должна соответствовать кодировке, в которой сохранён текст.
    Ответ написан
    1 комментарий
  • Где в функции ошибка?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ноль не относится к положительным числам.
    Ответ написан
    Комментировать
  • Где можно посмотреть, почитать про troubleshoot серверов как ос так и железа?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Стандартно. Заменить диски. Вывести старые диски из массива и ввести в него новые или пометить новые как hot spare, в зависимости от реализации raid. Дождаться завершения перестроения массива, убедиться, что всё в порядке.
    Ответ написан
    Комментировать
  • Почему тепловизоры не делают на основе принципа пирометрического клина?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В зависимости от температуры видимый свет начинает менять цвет на разной толщине стекла.
    И какой видимый свет вы планируете получить, например, от человеческого тела?
    Пирометрический клин годится только для накалённых предметов, испускающих видимое свечение. Он позволяет определить разницу между излучением красного и зелёного диапазонов. Если тело излучает только в ИК-диапазоне, то клин бесполезен.
    Ответ написан
    1 комментарий
  • Dhcp и шлюзы - как понять куда что и почему?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Шлюз и должен быть в той же сети, что и само устройство. Он должен быть доступен напрямю без промежуточных узлов.
    Если вы используете две различные подсети, то в каждой из них адрес шлюза должен быть своим, хотя на шлюзе оба этих адреса могут висеть на одном интерфейсе.
    Как вариант, можете изменить сеть с /24 на /22, тогда сеть станет 192.168.0.x/22 и адреса 192.168.1.x и 192.168.2.x окажутся в одной сети.
    Ответ написан
  • Как сформировать список по вложенному массиву рекурсивной функцией?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ну, будем извращаться.
    <?php
    function formatList(array $list): string
    {
        $result = '';
        foreach ($list as $key => $value) {
            if (!is_array($value)) {
                $result .= "<li>{$key} => {$value}</li>";
                continue;
            }
            $result .= "<li>{$key} =></li>";
            foreach ($value as $item) {
                $result .= formatList($item);
            }
        }
        if ((debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2)[1]['function'] ?? '') !== 'formatList') {
            $result = "<ul>{$result}</ul>";
        }
        return $result;
    }
    print formatList($arr);

    <ul><li>id => 1</li><li>name => item1</li><li>items =></li><li>id => 2</li><li>name => item2</li><li>items =></li><li>id => 3</li><li>name => item3</li><li>items =></li><li>id => 4</li><li>name => item4</li><li>items =></li><li>id => 5</li><li>name => item5</li><li>items =></li><li>id => 6</li><li>name => item6</li><li>items =></li></ul>
    Ответ написан
    2 комментария
  • Как синхронизировать время на DC AD?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для начала выставить руками. Затем они сами должны договориться о синхронизации.
    Вообще, крайне странно, что у вас сервер вошёл в домен, но не синхронизировал время. При вводе машины в домен она должна автоматически получить время с контроллера и в дальнейшем регулярно с ним синхронизироваться.
    Ответ написан
    Комментировать
  • SSD с Win10 не виден нигде, кроме самой этой ОС. Как в таких условиях сделать резервную копию этой ОС?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Загрузить линукс и посмотреть в gparted
    Клонировать clonezill'ой.
    Ответ написан
  • Зачем login повторяется в phpmyadmin?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Удаляем дубли:
    DELETE u.*
      FROM users AS u
      JOIN users AS d
        ON d.login = u.login AND d.id < u.id;

    2. Ставим уникальный индекс на login, чтобы добавить дубль было невозможно даже при ошибке в коде:
    ALTER TABLE users ADD UNIQUE (login);
    Переписываем код.
    3 (необязательно). Прежде, чем добавлять логин в таблицу, делаем запрос на наличие в ней такого логина и, если он есть, то возвращаем сообщение, что такой логин уже есть.
    4. Делаем вставку и, если она не удалась, то проверяем ошибку. Если это ошибка 1062 Duplicate entry, то какой-то поток успел вставить такой логин раньше и, опять же, возвращаем сообщение, что такой логин уже есть.
    Ответ написан
    Комментировать
  • Firefox больше не отправляет в HTTP_ACCEPT image/webp?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Специально обновил панду, проверил. У меня этот заголовок отправляет:
    скрин
    6740fab113240252456021.png

    Может у вас запрос построен так, что браузер не понимает, что запрашивается картинка?
    Ответ написан
  • Почему в геометрии выделяются только три признака равенства треугольников?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. По двум сторонам и углу между ними.
    2. По стороне и двум прилежащим углам.
    3. По трём сторонам.
    по двум углам и прилежащей стороне
    прилежащей к чему?
    по двум сторонам и прилежащему углу
    прилежащему к чему?
    Сформулируйте свои определения полностью.
    Ответ написан
  • Как расчитать 2 угла наклона?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    (x + 90) * (60 + 240) / (103 + 90) - 240
    Ответ написан
  • Почему не устанавливается программа через GPO?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не прописали назначение политики группе компьютеров. По умолчанию политика назначается на аутентифицированных пользователей.
    Ответ написан
    Комментировать
  • Кодировка при передаче CallerID между PBX и Asterisk?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можно.
    same => n,Set(CALLERID(name)=${ICONV(866,UTF8,${CALLERID(name)})})

    Правда, может оказаться, что там не 866 или Windows-1251, а какая-то своя внутренняя кодировка. Надо смотреть логи, анализировать текст и писать свой конвертер либо в виде подпрограммы диалплана Asterisk, либо в виде скрипта, запускаемого через SHELL.
    Ответ написан
    1 комментарий
  • Что такое RAND("totally_not_random") в SQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В запросе ошибка, он выполняться не будет.
    В MySQL RAND("totally_not_random") эквивалентен RAND(0), то есть seed генератора псевдослучайных чисел выставляется в 0. При этом каждый раз будет генерироваться одна и та же последовательность значений.
    WITH `t` (`row`) AS (
      SELECT 1
      UNION SELECT 2
      UNION SELECT 3
    )
    SELECT `row`, RAND("totally_not_random"), RAND(0), RAND(1) FROM `t`

    | row | RAND("totally_not_random") | RAND(0)             | RAND(1)            |
    | --- | -------------------------- | ------------------- | ------------------ |
    | 1   | 0.15522042769493574        | 0.15522042769493574 | 0.4054035371219773 |
    | 2   | 0.620881741513388          | 0.620881741513388   | 0.8716141803857071 |
    | 3   | 0.6387474552157777         | 0.6387474552157777  | 0.1418603212962489 |
    Ответ написан
    Комментировать