Задать вопрос
Ответы пользователя по тегу Алгоритмы
  • Какой алгоритм использовать в этой задаче?

    @di23
    Ну уже вы сами нашли ответ. Однако если вам хочется что-бы "узор" из единиц и нулей не повторялся примитивно, как в вашем решении, то стоит делать следующим образом:
    1. Создать пустую матрицу n*n.
    2. В начале координат заполнить рандомно квадрат k*k единицами в кол-ве S.
    3. Сместить квадрат k*k на одну клетку.
    4. Проверить кол-во единиц в квадрате.
    5. Добавить необходимое кол-во единиц в новые клетки, так что бы их было S. Опять же распределив их рандомно.
    6. Повторять пункты 3-5 пока матрица n*n не закончится.
    7. Профит!!!
    Таким образом получаем матрицу n*n с уникальным и не повторяющимся рисунком.
    Ответ написан