簡單最短路

2021-07-07 03:14:03 字數 1734 閱讀 1058

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 ...