Форум программистов, компьютерный форум CyberForum.ru

Дана задача, в основе квадратная матрица - C++

Восстановить пароль Регистрация
 
bedbmaklged
Сообщений: n/a
14.01.2014, 20:01     Дана задача, в основе квадратная матрица #1
Доброго времени суток, товарищи. Спасибо заранее за время, потраченное на прочтение этой темы. Дополнительное спасибо тем, кто поможет в решении моего вопроса. Задача - элементарна, я это понимаю, но с моим (начальным, начинающим, нубским)) ) багажом знаний - пока для меня непосильна (ээх, говорила мне мамка, учи все вовремя (( ). Нужен код, комментарии не важны, т.к. в коде я разберусь. У кого есть желание и время, прошу помочь нерадивому студенту (обещаю исправиться!!) )) Задача:

Квадратный участок земли N x N метров (N≤200) разбит на клетки стороной 1 метр. Клетка считается занятой, если на ней растет дерево. Деревья рубить нельзя. Найти для строительства дома квадрат максимальной площади, свободный от деревьев.


P. S. Заранее извините за боян, ошибки и т.д., но... новичкам везет же? )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2014, 20:01     Дана задача, в основе квадратная матрица
Посмотрите здесь:

C++ Дана квадратная матрица. Найдите ...
Дана целочисленная квадратная матрица C++
C++ Дана квадратная матрица
C++ дана квадратная матрица
C++ дана квадратная матрица А
C++ дана квадратная матрица
Дана квадратная матрица порядка N C++
Дана целочисленная квадратная матрица C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.01.2014, 21:41     Дана задача, в основе квадратная матрица #2
Цитата Сообщение от bedbmaklged Посмотреть сообщение
обещаю исправиться!!
ну если обещаете )
Если данные о участке земли записаны в массиве a[N][N] (причем деревья обозначены цифрой 1), то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int i, j, i1, j1, l=0, ii, jj;
for(i=0; i<N; i++)
    for(j=0; j<N; j++)
        for(i1=0; i1+i<N && i1+j<N; i1++)
        {
            for(j1=0; j1<=i1; j1++)
                if(a[i+i1][j+j1]==1 || a[i+j1][j+i1]==1)
                    break;
            if(j1>i1 && l<j1)
            {
                l=j1; ii=i; jj=j;
            }
        }
// вот здесь если l равно 0, то квадратов нет совсем
// если l>0 , то в l максимальная сторона квадрата, левая верхняя точка этого квадрата имеет индексы ii, jj
Yandex
Объявления
14.01.2014, 21:41     Дана задача, в основе квадратная матрица
Ответ Создать тему
Опции темы

Текущее время: 09:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru