暢通工程續

2021-07-04 15:48:09 字數 2199 閱讀 9040

total submission(s) : 36   accepted submission(s) : 25

problem description

某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。

現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。

input

本題目包含多組資料,請處理到檔案結束。每組資料第一行包含兩個正整數n和m(0

output

對於每組資料,請在一行裡輸出最短需要行走的距離。如果不存在從s到t的路線,就輸出-1.

sample input

3 3

0 1 1

0 2 3

1 2 1

0 23 1

0 1 1

1 2

sample output

2

-1

#include#include#define min(a,b) (a)>(b)?(b):(a)

#define inl 10000000

int x[202][202];

int s[202],d[202];

int n,m,q,r;

void dijkstra()

}scanf("%d%d",&q,&r);

dijkstra();

} return 0;

}

再貼乙個

#include#include#define m  10000000

#define min(a,b) (a)>(b)?(b):(a)

int map[202][202];

int vis[202],dist[202];

int n,s,t;

void dijkstra()

}scanf("%d%d",&s,&t);

dijkstra();

}return 0;

}

再貼乙個用spfa演算法寫的;

#include#include#includeusing namespace std;

struct stu;

stu edge[30000];

int n,m,d,f;

int head[30000],t,vid[300],dist[300];

void spfa(int s)}}

} if(dist[f]>1000000)

printf("-1\n");

else

printf("%d\n",dist[f]);

}void get(int a,int b,int c)

; edge[t]=e;

head[a]=t++;

}int main()

scanf("%d%d",&d,&f);

spfa(d);

} return 0;

}

再貼乙個spfa演算法寫的**:

#include#include#include#define inl 0x3f3f3f3f//有時候寫成0x3f3f3f時會出錯再加乙個3f就正確了;

#includeusing namespace std;

struct stu;

stu edge[30000];

int head[30000],t,he,vid[300],vist[300];

void get(int u,int v,int w)

; edge[t]=e;

head[u]=t++;

}void spfa(int s)

}} }

if(vist[he]==inl)//另一種寫法if(vist[he]>100000)

printf("-1\n");

else

printf("%d\n",vist[he]);

}int main()

scanf("%d%d",&a,&he);

spfa(a);

} return 0;

}

暢通工程續

description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。input ...

暢通工程續

b 暢通工程續 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1874 description...

暢通工程續

problem description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距...