題目大意:給定乙個 n 個點,m 條邊的無向無權圖,求從 1 號點出發到其他每個點最短路的條數。
題解:在跑 dij 時順便維護 cnt[ ] 陣列,用來記錄到每個點的最短路條數。
**如下
#include using namespace std;
typedef pairp;
const int maxn=1e6+10;
const int mod=100003;
inline int read()while(!isdigit(ch));
dowhile(isdigit(ch));
return f*x;
}struct nodee[maxn<<1];
int tot,head[maxn];
inline void add_edge(int x,int y),head[x]=tot;
}int n,m,d[maxn],cnt[maxn];
bool vis[maxn];
priority_queueq;
void read_and_parse()
}void solve()
else if(d[v]==d[u]+1)
} }for(int i=1;i<=n;i++)printf("%d\n",cnt[i]);
}int main()
洛谷 P1144 最短路計數
題目描述 給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。輸入輸出格式 輸入格式 輸入第一行包含2個正整數n,m,為圖的頂點數與邊數。接下來m行,每行兩個正整數x,y,表示有一條頂點x連向頂點y的邊,請注意可能有自環與重邊。輸出格式 輸出包括n行,每...
洛谷 P1144 最短路計數
給出乙個nn個頂點mm條邊的無向無權圖,頂點編號為1 n1 n。問從頂點11開始,到其他每個點的最短路有幾條。輸入格式 第一行包含22個正整數n,mn,m,為圖的頂點數與邊數。接下來mm行,每行22個正整數x,yx,y,表示有一條頂點xx連向頂點yy的邊,請注意可能有自環與重邊。輸出格式 共nn行,...
洛谷 P1144 最短路計數
給出乙個nn個頂點mm條邊的無向無權圖,頂點編號為1 n1 n。問從頂點11開始,到其他每個點的最短路有幾條。第一行包含22個正整數n,mn,m,為圖的頂點數與邊數。接下來mm行,每行22個正整數x,yx,y,表示有一條頂點xx連向頂點yy的邊,請注意可能有自環與重邊。共nn行,每行乙個非負整數,第...