複雜度:o(e*lo**)
ac**:
#include
#include
#include
#include
#include
#include
using
namespace std;
#include
const
int maxn =
105;
const
int inf =
1000000
;//map:陣列模擬鄰接表
int vex[maxn]
, ecot;
struct edge
edge[maxn*maxn]
;//沒有重複邊
void
init()
ecot =0;
}void
addedge
(int u,
int v,
int w)
//int n, m;
//struct node
node
(int t,
int dis)
bool
operator
<
(const node& n)
const};
void
dijkstra()
//多公尺諾模型
// priority_queue q;
//儲存多公尺諾正在前往的點的資訊
dis[1]
=0; node node(1
, dis[1]
);q.
push
(node)
;while
(!q.
empty()
)if(dis[edge[i]
.to]
> node.s_dis + edge[i]
.w)}
}printf
("%d\n"
, dis[n]);
}int
main()
dijkstra()
;}return0;
}
複雜度:o(v*e)
ac**:
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int maxn =
105;
const
int inf =
1000000
;//map:bellman
struct edge
edge[maxn*maxn]
;int enum;
void
addedge
(int u,
int v,
int w)
//int n, m;
void
bellman()
dis[1]
=0;//點1是起點:第一次更新dis
//警察問路模型
bool update =
true
;//上一次pre進行了更新時,true;
int k =0;
while
(update)
update =
false
;//預設無更新
for(
int i =
0; i < enum; i++)}
}printf
("%d\n"
, dis[n]);
}int
main()
bellman()
;}return0;
}
複雜度:o(vvv)
ac**:
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int maxn =
105;
const
int inf =
1000000
;//map:鄰接矩陣
int dp[maxn]
[maxn]
;//dp[i][j]:表示點i到點j的最短距離
//int n, m;
void
init()
//寫入地圖:初始化dp
}void
solve()
}}}printf
("%d\n"
, dp[1]
[n]);}
intmain()
return0;
}
HDU 2544最短路徑
hdu 2544 最短路 problem description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時 候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組...
HDU2544最短路(最短路徑)
description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 1...
hdu2544 最短路(最短路徑模板)
problem description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整...