Тема: Ошибка
Показать сообщение отдельно
  #3  
Старый 10.01.2007, 16:08
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils,Dialogs;

//Пример файла Summer.in
//4
//0 1 0 1
//0 0 1 0
//1 0 0 0
//0 1 1 0

type Num=array of integer;
type form=array of array of byte;

var
n,s,j:integer;
people:form;
number,endnum,view:num;

procedure Init;
var
x,y:integer;
begin
s:=0;
Assign(input,'summer.in');
Reset(input);
Readln(n);
SetLength(People,n,n);
SetLength(Number,n);
SetLength(View,n);
For y:=0 to n-1 do begin
view[y]:=0;
For x:=0 to n-1 do begin
Read(People[x,y]);
end;
end;
endnum:=number;
close(input);
end;

procedure SaveResult;
var
i:integer;
begin
Assign(output,'summer.out');
Rewrite(output);
for i:=0 to n-1 do begin
write(endnum[i]+1,' ');
end;
close(output);
end;


procedure Solve(ClonNum:Num; ClonView:Num; p,l:integer);
var
i:integer;
begin
ClonNum[l]:=p;
ClonView[p]:=1;
l:=l+1;
for i:=0 to n-1 do begin
if (ClonView[i]=0) and (People[i,p]=1) then begin
Solve(ClonNum, ClonView,i,l);
end;
end;
if s<l then begin
s:=l;
EndNum:=ClonNum; //У меня здесь даже можно и не присваивать
end;
end;

var
k:integer;
begin
Init;
for j:=0 to n-1 do begin
Solve(number,View,j,0);
//Почему то number и view остаются не постоянными
end;
SaveResult;
end.
Ответить с цитированием