Отримання знань

дистанційна підтримка освіти школярів


Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.

3 (3) 2012-11-08 13:04:16
program graph;
var
n,vk,x: integer;
a:array[1..100,1..100] of integer;
st:array [1..100]of integer;
all:set of byte;
old: set of byte;
rez:boolean;
procedure inp;
var
i,j: integer;
begin
assign (input, '6.dat');
reset (input);
read(n);
for i:=1 to n do begin

for j:=1 to n do begin
read (A[i,j]);
end;
end;
close (input);
end;
procedure put(t:integer);
begin
st[vk]:=t;
vk:=vk+1;
old:=old+[t];
end;
procedure get ;
begin
vk:=vk-1;
end;

function poshuk (t:integer):integer;
var
i:integer;
flag:boolean;
begin
flag:=false;
i:=1;
while (i<=n)and (flag=false)do
begin
if (a[t,i]<>0)and not(i in old)
then flag := true
else i:=i+1;
end;
if i=n+1
then poshuk:=-1
else poshuk:=i;
end;
procedure main;



begin
vk:=1;
old:=[];
put(1);
all:=[1..n];
while vk>1 do
begin
x:=poshuk(st[vk-1]);
if x<>-1
then
put(x)
else get;
end;
if old=all
then rez:=true
else rez:=false;
end;
procedure out;
var
i,j: integer;
begin
assign (output, '6.sol');
rewrite (output);
write(rez);
close(output);
end;
Begin
Inp;
Main;
Out;
end.

Повернутися до уроку

Повернутися до перелiку уроків курсу

В системі: гості - (); користувачі - (0)