Модераторы: Alx, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шахматная матрица логическим отрицанием, не знаю, кому нафиг может пригодиться 
:(
    Опции темы
l0ser
  Дата 18.8.2011, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.4.2010
Где: Подмосковье

Репутация: нет
Всего: нет



Короче, мне тут мысля пришла: пусть есть квадратная матрица, заполненная нулями. А потом нужно сделать из неё шахматную свиноматрицу используя только логическое отрицание и только квадратными областями. (Есть здравые способы заполнения таких свиноматриц, щас не о них.)

Ну чего не взбредёт в голову в полчетвёртого ночи?.. Первые полминуты с того момента, как мне влезла в голову эта муть, мне казалось, что квадратами ну никак не получить шахматную матрицу, вторые полминуты мне казалось, что я придумал, как, а потом я уже набросал на баське прогу и целых пять минут отлаживал. Привожу аналог на C (мож, чего с индексами напортачил, переписывал в блокноте).

Вот в чём мой вопрос: какому <нецензурное выражение, обозначающее высшую степень умственной недоразвитости> кроме меня может понадобиться такой алгоритм?.. smile

Код

//объявления, заполнение...
#define MAX    10
...
int i, j, k;
bool matrix[MAX][MAX];

for (i = 0; i < MAX; ++i)
    for (j = 0; j < MAX; ++j)
        matrix[i][j] = false;

//собсно шахматная клетка

//квадраты с предпоследнего элемента свиноматрицы до первого
for (k = MAX - 2; k >= 0; --k)
    for (i = 0; i <= k; ++i)
        for (j = 0; j <= k; ++j)
            matrix[i][j] = !matrix[i][j];

//квадраты со второго элемента свиноматрицы до последнего
for (k = 1; k < MAX; ++k)
    for (i = k; i < MAX; ++i)
        for (j = k; j < MAX; ++j)
            matrix[i][j] = !matrix[i][j];


Хотел в «Лагоритмах» запостить, но вовремя увидел ссыль сюды, тут вроде более неформальное место, а там люди серьёзными темами заходят потрясти.
PM MAIL   Вверх
maxdiver
Дата 29.10.2011, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 2
Всего: 18



Не совсем понял, мы хотим получить из нулевой матрицы nxn шахматную матрицу, т.е. матрицу, в которой нули и единицы чередуются, как на шахматной доске? И при этом можем делать только инвертирование матрицы на каком-то квадрате?

Тогда, казалось бы, почему не сделать инвертирование в квадратах размера 1x1 в каждой клетке с нечётной суммой координат? Или предполагается, что надо минимизировать число таких инвертирований?
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




[ Время генерации скрипта: 0.1164 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.