洛谷P1608 路徑計數

2022-08-21 02:24:12 字數 911 閱讀 6310

給你乙個n點m邊的有向圖,求第乙個點到第n個點的最短路和最短路條數

很明顯直接dijkstra求最短路,加乙個最短路計數

如下:

if(dis[y]>dis[x]+edge[i].w)

else if(dis[y]==dis[x]+edge[i].w) ans[y]+=ans[x];

記住要刪除重邊,要不然計數會重複

上**

#include#define re register

#define ll long long

using namespace std;

inline int read()

const int n=2e3+10,e=4e6+10;

int n,e;

struct edge;

edge edge[e<<1];

const int mod=100003;

int head[n],cnt;

int dep[n];

int dis[n],ans[n];

bool vis[n];

int awsl[n][n];

struct new

};priority_queueq;

inline void add(int x,int y,int w)

inline void dijkstra());

while(!q.empty()));

}else if(dis[y]==dis[x]+edge[i].w) ans[y]+=ans[x];

} }}int main()

} dijkstra();

if(ans[n]==0) cout<<"no answer";

else cout

}

洛谷 P1608 路徑統計

rp餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓hzh,tzy去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有n個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向的,從小鎮i到j需要花費...

洛谷 P1608 路徑統計

洛谷傳送門 rp 餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓 hzh,tzy 去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有 nn 個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向...

洛谷 P1608 路徑統計

rp餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓hzh,tzy去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有n個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向的,從小鎮i到j需要花費...