poj 3615 :Cow Hurdles (floyd)----很好
2010-12-03 23:21
609 查看
题意:奶牛们为了比赛要刻苦训练跳木桩。现在有n个木桩,并知道其中m对木桩的高度差。问奶牛们能从木桩u跳到木桩v,最少的跳跃高度是多少?
思路:基础的floyd。只是在传递的地方要改变一下松弛条件就可以了。
源代码:(540K 422MS/329MS)
#include<iostream>
using namespace std;
const int Max = 305;
const int inf = 99999999;
int max(int a, int b){
return a
> b ? a : b;
}
int main(){
int n, m, t,
u, v, w, i, j, k;
int
map[Max][Max];
scanf("%d%d%d", &n, &m,
&t);
for(i = 1; i
<= n; i ++)
for(j = 1; j <= n; j ++){
if(i == j) map[i][j] = 0;
else map[i][j] = inf;
}
while(m
--){
scanf("%d%d%d", &u, &v,
&w);
if(map[u][v] > w)
map[u][v] = w;
}
for(k = 1; k
<= n; k ++)
for(i = 1; i <= n; i ++)
for(j = 1; j <= n; j ++){
int w = max(map[i][k],
map[k][j]);
// 不用max函数的话就从422MS优化为329MS。
if(map[i][j] > w)
map[i][j] = w;
}
while(t
--){
scanf("%d%d", &u, &v);
if(map[u][v] == inf) printf("-1/n");
else printf("%d/n", map[u][v]);
}
return
0;
}
思路:基础的floyd。只是在传递的地方要改变一下松弛条件就可以了。
源代码:(540K 422MS/329MS)
#include<iostream>
using namespace std;
const int Max = 305;
const int inf = 99999999;
int max(int a, int b){
return a
> b ? a : b;
}
int main(){
int n, m, t,
u, v, w, i, j, k;
int
map[Max][Max];
scanf("%d%d%d", &n, &m,
&t);
for(i = 1; i
<= n; i ++)
for(j = 1; j <= n; j ++){
if(i == j) map[i][j] = 0;
else map[i][j] = inf;
}
while(m
--){
scanf("%d%d%d", &u, &v,
&w);
if(map[u][v] > w)
map[u][v] = w;
}
for(k = 1; k
<= n; k ++)
for(i = 1; i <= n; i ++)
for(j = 1; j <= n; j ++){
int w = max(map[i][k],
map[k][j]);
// 不用max函数的话就从422MS优化为329MS。
if(map[i][j] > w)
map[i][j] = w;
}
while(t
--){
scanf("%d%d", &u, &v);
if(map[u][v] == inf) printf("-1/n");
else printf("%d/n", map[u][v]);
}
return
0;
}
相关文章推荐
- POJ3615 Cow Hurdles【Floyd】
- [floyd]POJ 3615 Cow Hurdles
- Poj 3615 Cow Hurdles【Floyd】
- POJ 3615 Cow Hurdles ,floyd 修改 , UVa 10048 Audiophobia
- POJ - 3615 Cow Hurdles (Floyd变形)
- poj 3615 Cow Hurdles(floyd)
- POJ 3615 Cow Hurdles(Floyd)
- POJ 3615 Cow Hurdles
- POJ 3615(FLOYD应用)
- poj 3615 Cow Hurdle (Floyd)
- 【POJ 3615】Cow Hurdles
- POJ 3615 Cow Hurdles(Floyd算法)
- poj 3615 Cow Hurdles
- poj 3615 Cow Hurdles
- poj-3615——floyd
- POJ 3615 Cow Hurdles
- POJ 3615 floyd 求任意起点终点的最短路
- poj 3615 Cow Hurdles
- POJ--3615|Cow Hurdles
- poj 3615(floyd变形 水题)