Отримання знань
дистанційна підтримка освіти школярів
Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.
Шевчук Володимир (LOPATA602) 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. |
В системі:
гості - (1); користувачі -
(0)