HDU 2544 最短路 最短路

2021-06-04 05:05:36 字數 2024 閱讀 5882

最近複習了最短路徑的演算法,就寫了4個版本的測試。正好是模板題,就果斷a之。。。

dijkstar版本:

#include#include#include#include#include#include#includeusing namespace std;

#define n 110

#define max 999999

#define clr(arr, what) memset(arr, what, sizeof(arr))

int nodenum, edgenum;

int map[n][n], dis[n];

bool visit[n];

int dijkstra(int src, int des)

return dis[des];

}int main()

answer = dijkstra(1, nodenum);

printf("%d\n", answer);

}return 0;

}

bellman_ford版本:

#include#include#include#include#include#include#includeusing namespace std;

#define n 110

#define max 999999

#define clr(arr, what) memset(arr, what, sizeof(arr))

int nodenum, edgenum;

int map[n][n], dis[n];

bool visit[n];

struct edge

e[n * n / 2];

int bellman_ford(int src, int des)

int main()

answer = bellman_ford(1, nodenum);

printf("%d\n", answer);

}return 0;

}

floyd版本:

#include#include#include#include#include#include#includeusing namespace std;

#define n 110

#define max int_max >> 1

#define clr(arr, what) memset(arr, what, sizeof(arr))

int nodenum, edgenum;

int map[n][n], dis[n];

bool visit[n];

int floyd(int src, int des) //多源多匯最短路

int main()

answer = floyd(1, nodenum);

printf("%d\n", answer);

}return 0;

}

spfa版本:

#include#include#include#include#include#include#includeusing namespace std;

#define n 110

#define max int_max >> 1

#define clr(arr, what) memset(arr, what, sizeof(arr))

int nodenum, edgenum;

int map[n][n], dis[n];

bool visit[n];

int spfa(int src, int des)}}

}return dis[des];

}int main()

answer = spfa(1, nodenum);

printf("%d\n", answer);

}return 0;

}

hdu 2544 最短路(最短路)

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

HDU2544最短路(最短路徑)

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

HDU 2544 最短路 最短路問題

解題報告 這題就是求兩個單源點之間的最小距離,屬於最短路問題,由於資料量很小,只有100,所以這題可以用弗洛伊德也可以用迪傑斯特拉,都可以過,但是用迪傑斯特拉會快一點,但用弗洛伊德的 會稍短一點,純屬裸的演算法題,這裡給出兩種演算法的 弗洛伊德演算法 1 include2 include3 incl...