hdu3191 次最短路

2021-08-04 09:31:35 字數 1065 閱讀 9730

跟hdu1688一樣的求次最短路。**上有詳細注釋。
/*

題意:給你n個點m條有向邊,開始點s,終點e,求 s到e的次最短路,輸出次最短路的長度和條數

*/#include#include#include#includeusing namespace std;

#define max 1100

#define inf 999999999

struct edge

;vectoredges;

vectorg[max];

int m,n;

int dis[max][2];

int vis[max][2];

int cnt[max][2];

int s,e;

void addedge(int x,int y,int w)

; edges.push_back(a);

g[x].push_back(edges.size()-1);

}void dij(int x,int y)

dis[x][0]=0;

cnt[x][0]=1;

memset(vis,0,sizeof(vis));

for(int i=1;i<=n*2;i++)//最多要迴圈2*n次,求最短路勁就迴圈這麼多次,還有個次最短路,就當然是兩倍啦

else if (!vis[j][1]&&min>dis[j][1])

}if(u==-1) break;

vis[u][flag]=1;

for(int j=0;jelse if(min+v.w==dis[v.to][0])//等於最短路

else if(min+v.w==dis[v.to][1])//等於次最短路

else if(min+v.w}

}printf("%d %d\n",dis[e][1],cnt[e][1]);

}int main()

edges.clear();

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

dij(s,e);

}}

HDU 2544 最短路 最短路

最近複習了最短路徑的演算法,就寫了4個版本的測試。正好是模板題,就果斷a之。dijkstar版本 include include include include include include includeusing namespace std define n 110 define max 99...

hdu 2544 最短路(最短路)

time limit1000 ms memory limit32768 kb 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input輸入...

HDU2544最短路(最短路徑)

description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 1...