如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。
拓扑排序
来自"NOCOW"
拓扑排序 找入度为0的点,删去与其相连的所有边,不断重复这一过程。
var a:array[1..100,1..100]of longint;
v:array[1..100]of longint;
b:array[1..100]of boolean;
i,j,k,l,n:longint;
begin
fillchar(b,sizeof(b),true);
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
read(a[i,j]);
if a[i,j]=1 then
inc(v[j]);
end;
for i:=1 to n do
for j:=1 to n do
if(b[j])and(v[j]=0) then
begin
write(j,' ');
for k:=1 to n do
if a[j,k]=1 then dec(v[k]);
b[j]:=false;
break;
end;
end.
拓扑排序不唯一,如果有环则无法完成拓扑排序
by 357795229

