拓扑排序 找入度为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.
士兵排队问题
比赛名次
烦人的幻灯片
字符排序(poj 1094)
神经网络 (NOIP 2003 vijos1105)
Labeling Balls (PKU 3687)
奶牛比赛(poj 3660)
重叠的图像 (ZJU 1083)
最优贸易 (NOIP 2009)
逆拓扑排序(拓扑排序+优先队列)
hdu 4857 逃生
POJ 3687 Labeling Balls
Vijos P1790 拓扑编号
拓扑排序+传递闭包
POJ 1094 Sorting It All Out
并查集+拓扑排序
hdu 1811 Rank of Tetris