給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。
第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。
輸出共n行,表示每個點能夠到達的點的數量。
1≤n,m≤30000
10 10
3 82 3
2 55 9
5 92 3
3 94 8
2 10
4 9
163
3211
111
參考
#include
using
namespace std;
const
int n=
3e4+10;
int net[n]
,head[n]
,ver[n]
,deg[n]
,tot,cnt,a[n]
,n,m;
bitset f[n]
;void
add(
int x,
int y)
//鏈式前向星加邊
void
topsort
(void)}
}void
calc()
}}intmain()
topsort()
;calc()
;for
(int i=
1;i<=n;i++
) cout<.count()
/統計1的個數,也就是到達了多少個點
return0;
}
可達性統計
題目描述 給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。n,m 30000。輸入第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。輸出共n行,表示每個點能夠到達的點的數量。樣例輸入 複製樣例資料 10 10 3 82 3 2 55 9 5 92...
可達性統計
題目描述 給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。輸入格式 第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。輸出格式 輸出共n行,表示每個點能夠到達的點的數量。資料範圍 1 n,m 30000 輸入樣例 10 10 3 82 3 2 5...
可達性統計
給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。輸入格式 第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。輸出格式 輸出共n行,表示每個點能夠到達的點的數量。資料範圍 1 n,m 300001 n,m 30000 輸入樣例 10 10 3 82...