IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Matritsa
-programmer-
сообщение 24.11.2005 21:49
Сообщение #1


Гость






дана матрица из 0 и 1 в
данной матрицы найти максимальную подматрицу состоящую из 0
Так вот проблема в чем
каждый элемент матрицы посещается не более 1 раза
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
virt
сообщение 25.11.2005 3:53
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


program max_podmatr;
const max_n = 20;
var a : array[1..max_n,0..max_n]of byte;
b : array[1..max_n,1..max_n]of byte;
i,j,n,m,k : integer;
max : longint;
width : byte;

function min(a,b : integer) : integer;
begin
if a < b then min := a else min := b;
end;

begin
read(n,m);
for i := 1 to n do
for j := 1 to m do
read(b[i,j]);
fillchar(a,sizeof(a),0);
max := 0;
for i := 1 to n do
for j := 1 to m do
if b[i,j] = 0 then a[i,j] := a[i,j - 1] + 1 else a[i,j] := 0;
for i := 1 to n do
for j := 1 to m do
begin
width := a[i,j];
for k := i downto 1 do
begin
width := min (width,a[k,j]);
if width * (i - k + 1) > max then max := width * (i - k + 1);
end;
end;
writeln(max);
end.


сложность O(n^3)


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 12.07.2025 3:56
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"