Массивы двумерные Дана квадратная таблица А(N, N), элементами которой являются нули и единицы. Установите наличие в ней квадрата, стороны которого состоят из М единиц (M<=N) и параллельны строкам или столбцам таблицы. Если такой квадрат найдется, то нужно вывести координаты его верхнего левого угла
amega
2.02.2009 22:35
ет задача дет на олимпиаде была (я не знаю где) помню моему соседу с универа дали такуюже (ток там найти самый большой квадрат из нулей или единиц) он спросил где бырете задачи преподаватель ответив это олимпиадные....
можеш поискать ее решение... оно должно быть
BAEVIK
2.02.2009 22:50
Цитата(amega @ 2.02.2009 22:35)
ет задача дет на олимпиаде была (я не знаю где) помню моему соседу с универа дали такуюже (ток там найти самый большой квадрат из нулей или единиц) он спросил где бырете задачи преподаватель ответив это олимпиадные....
можеш поискать ее решение... оно должно быть
Я поищу но ты тож если найдёш напиши !!!
amega
2.02.2009 23:13
Цитата
Я поищу но ты тож если найдёш напиши !!!
да я если щас не засну то зделаю
BAEVIK
2.02.2009 23:50
Цитата(amega @ 2.02.2009 23:13)
да я если щас не засну то зделаю
good
BAEVIK
4.02.2009 13:34
Чевота не нашёл такой задачи помаги плиз !!!
Lapp
4.02.2009 14:47
Вот, можно так, например. Правда, далеко не оптимально
function Square(x,y: integer): boolean; function Sum(p,q,u,v: integer): integer; var s,i: integer; begin s:=0; for i:=0 to m-1 do s:=s+a[p+i*u,q+i*v]; Sum:=s end; begin Square:=(Sum(x,y,1,0)+Sum(x,y,0,1)+Sum(x,y+m-1,1,0)+Sum(x+m-1,y,0,1)=4*m) end;
begin m:=6; for i:=1 to n-m+1 do for j:=1 to n-m+1 do if Square(i,j) then WriteLn('Sqaure found at ',i,',',j) end.
М
BAEVIK, будь добр, прочитай п.п.4, 6 и 7 Правил Форума
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.