洛谷1144 最短路計數 傳送門
其實這道題目的正解應該是spfa裡面加一些處理,,然而,,然而,,既然它是無權圖,,那麼就直接bfs了,用乙個cnt記錄一下每乙個點的方案數,分幾種情況討論一下轉移,最後輸出cnt即為結果。。
題目中所說的重邊和自環啥的沒看出來有啥影響。。
1 #include 2 #include 3 #include 45const
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有...