洛谷 1144 最短路計數 bfs

2022-04-07 04:30:33 字數 837 閱讀 5931

洛谷1144 最短路計數 傳送門

其實這道題目的正解應該是spfa裡面加一些處理,,然而,,然而,,既然它是無權圖,,那麼就直接bfs了,用乙個cnt記錄一下每乙個點的方案數,分幾種情況討論一下轉移,最後輸出cnt即為結果。。

題目中所說的重邊和自環啥的沒看出來有啥影響。。

1 #include 2 #include 3 #include 4

5const

int maxn = 100000 + 500;6

const

int mod = 100003;7

intque[maxn];

8bool

vis[maxn];

9int last[maxn], pre[5 * maxn], other[5 *maxn];

10int

dis[maxn], cnt[maxn];

11int

n, m;

12int

x, y;

13int tot = 0;14

void bfs(int

s) else

if (dis[q] > dis[cur] + 1

) else

if (dis[q] == dis[cur] + 1

) 38}39

}40}41

void add(int x, int

y) 47

intmain ()

54 bfs(1

);55

for (int i = 1; i <= n; i++)

5859

return0;

60 }

洛谷1144 最短路計數

題目描述 給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。輸入輸出格式 輸入格式 輸入第一行包含2個正整數n,m,為圖的頂點數與邊數。接下來m行,每行兩個正整數x,y,表示有一條頂點x連向頂點y的邊,請注意可能有自環與重邊。輸出格式 輸出包括n行,每...

洛谷1144 最短路計數

給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。大水題 為了備忘 還是記下來吧 不推方程了,in code 1 2 dijkstra 4 include5 include6 include7 include8 using namespace std ...

洛谷P1144 最短路計數(BFS)

給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。輸入第一行包含2個正整數n,m,為圖的頂點數與邊數。接下來m行,每行兩個正整數x,y,表示有一條頂點x連向頂點y的邊,請注意可能有自環與重邊。輸出包括n行,每行乙個非負整數,第i行輸出從頂點1到頂點i有...