{$B-} program cstrong (input,output); {} { } { w } { } { u t F v | v } { } { w F H R } { } { w F Q O r r P Q O P } { } { w F C w } { } { w w F w w } { } { F strongly connected component } { } { g p F o } { } { F P X W T N PP } { } {} const n=11; stackmax=100; type stack=array[0..stackmax] of integer; ege=array[1..n,1..n] of integer; ary=array[1..n] of integer; var number,low,tag:ary; v:ege; num,i,j,k,t,p:integer; outop1:stack; outop2:ege; { external proceder sconect(var v,outop2:ege;var outop1:stack; var num:integer;var tag,number,low:ary); } {$I B:SCONECT.SRC} begin for i:=1 to n do begin for j:=1 to n do read(v[i,j]); readln end; sconect(v,outop2,outop1,num,tag,number,low); i:=1; j:=1; while outop1[i]<>0 do begin writeln(lst,'component'); writeln(lst,outop1[i]:8); while outop2[i,j]<>0 do begin writeln(lst,outop2[i,j]:8); j:=j+1; end; j:=1; i:=i+1; end; for p:=1 to n do writeln(lst,'tag[',p:2,']=',tag[p],'number[',p:2,']=',number[p]:2, 'low[',p:2,']=',low[p]:2); writeln(lst,'num=',num); end.