• Из-за чего встроенный Linux Shell в Windows открывается и сразу закрывается?

    @roma5z
    Just another one programmer
    После сноса переустановки Ubuntu под Windows 10 wsl, у меня возникла та-же проблема. Поиски в интернетах привели к выводу, что задачу нужно решать самому.

    Короткий ответ такой:
    В качестве оболочки по умолчанию для WSL указано другое приложение.
    решается так: Power Shell >
    wsl --set-default Ubuntu

    Поиск и устранение проблемы в деталях.

    Открываем regedit, в нем поиск по строке "Open Linux shell here" или "Открыть здесь оболочку Linux" для русскоязычной windows 10.

    Видим что-то вроде такой картины:
    6013bfd7afd1d457780816.png

    Далее, дело техники.
    Открываем Power shell, пишем:
    C:\Users\UserName> wsl --help
    
    Использование: wsl.exe [аргумент] [параметры...] [командная_строка]
    
    Аргументы для запуска двоичного кода Linux:
    
        Если командная строка не указана, файл wsl.exe запускает стандартную оболочку.

    и внимательно читаем описание.

    Из него становится понятным, что нужно посмотреть умолчательные настройки wsl.
    Смотрим, кто выбран по умолчанию в качестве исполнителя для wsl без параметров.
    C:\Users\UserName> wsl --list -v 
      NAME                   STATE           VERSION
    * docker-desktop         Running         2
      docker-desktop-data    Running         2
      Ubuntu                 Running         2

    Видим что по умолчанию установлен docker-desktop.

    Поиск проблемы завершен, исправляем:
    Меняем исполнителя по умолчанию на Ubuntu.
    C:\Users\UserName> wsl --set-default Ubuntu

    Проверяем установки:
    C:\Users\UserName> wsl --list -v 
      NAME                   STATE           VERSION
    * Ubuntu                 Running         2
      docker-desktop-data    Running         2
      docker-desktop         Running         2


    Все, теперь Linux shell из меню проводника открывается как положено.
    Ответ написан
    2 комментария
  • Не могу верно решить задачу из ЕГЭ по инфе. Почему ответ неверный?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Тут вам повезло. Вы какую-то жадность сделали, но она в общем случае несработает.

    Надо делать динамическое программирование:

    F(n, k) - максимальная сумма, которую можно получить, взяв какие-то числа из первых n пар и при этом получить k нечетных чисел.

    F(0,0) = 0

    F(0,*) = -infinity

    F(n,k) = max_i=0..1 a[n-1][i]+F(n-1,k-a[n-1][i]%2).

    Ответ: max_i=0..n: F(n,i) (т.ч. F(n,i) - той же четно для i<=n//2 и нечетно для i > n//2)
    Ответ написан
    Комментировать
  • Не могу верно решить задачу из ЕГЭ по инфе. Почему ответ неверный?

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

    hint000
    @hint000
    у админа три руки
    Выкинуть mine_search(...) в мусор целиком.
    sapper(...) переписать следующим образом: сначала проходим циклом по m_array и расставляем в array мины.
    Только после полной расстановки мин заполняем нулевые клетки. Это очень сильно ускорит выполнение.
    Ответ написан
    1 комментарий
  • Как решить проблему динамического изменения данных во вложенном списке в python?

    Vindicar
    @Vindicar
    RTFM!
    a = []
    b = []
    b.append(a)
    b.append(a)
    a.append(1)
    print(b)
    #выведет [[1], [1]]

    Иными словами, список хранит не копию другого списка, а ссылку. Если вам нужна копия - сделайте её явно вызовом метода .copy() у списка.
    Ответ написан
    Комментировать