a - 最短路
time limit:1000ms memory limit:32768kb
64bit io format:%i64d & %i64u
description
在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t-shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?
input
輸入包括多組資料。每組資料第一行是兩個整數n、m(n<=100,m<=10000),n表示成都的大街上有幾個路口,標號為1的路口是商店所在地,標號為n的路口是賽場所在地,m則表示在成都有幾條路。n=m=0表示輸入結束。接下來m行,每行包括3個整數a,b,c(1<=a,b<=n,1<=c<=1000),表示在路口a與路口b之間有一條路,我們的工作人員需要c分鐘的時間走過這條路。
輸入保證至少存在1條商店到賽場的路線。
output
對於每組輸入,輸出一行,表示工作人員從商店走到賽場的最短時間
sample input
2 1
1 2 3
3 3
1 2 5
2 3 5
3 1 2
0 0
sample output
3 2
題目大意:此題是很明顯的最短路問題,按常規建圖即可,此題為雙向圖,然後用dij或者spfa跑一遍最短路即可,**如下。
dij:
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using
namespace
std;
int dis[105],maze[105][105];
bool vis[105];
int n,m;
void dij(int st,int en)
}printf("%d\n",dis[en]);
}int main()
//雙向圖
}dij(1,n);
}getchar();
getchar();
return
0;}
spfa:
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define maxn 105
using
namespace
std;
struct node
;int num;
int head[maxn];
node e[maxn*maxn];
bool vis[maxn];
int dis[maxn];
int n,m;
void init()
void add(int st,int en,int len)
void spfa(int st,int en)}}
}printf("%d\n",dis[en]);
}int main()
spfa(1,n);
} return
0;}
A 最簡單的最短路 最短路徑
szu 2015 winter training day 6 a 最簡單的最短路 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1874 description 某省...
Yaroslav and Time 簡單最短路
sample input input 3 1000 1000 0 00 1 0 3output 2000 input 3 1000 1000 1 01 1 1 2output 1000 題意 座標上有n個點,沒走一步要花d時間 除了起點和終點,其他的點都有個寶箱,每個寶箱可以加時間 輸出從起點到終點...
模板 最短路(簡單)
以poj 1847為例。有n個路口,計算從a路口到b路口的最短轉彎數。對於每乙個路口,有t個分叉口,第乙個分叉口是直行,也就是不用轉彎 剩下的t 1個路口都需要轉彎一次。dijkstra include include include include include include include ...