码迷,mamicode.com
首页 > 其他好文 > 详细

poj 2253 Frogger 解题报告

时间:2014-08-06 01:41:00      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   ar   

题目链接:http://poj.org/problem?id=2253

题目意思:找出从Freddy‘s stone  到  Fiona‘s stone  最短路中的最长路。 很拗口是吧,举个例子。对于 i 到 j 的一条路径,如果有一个点k, i 到 k 的距离 && k 到 j 的距离都小于 i 到 j 的距离,那么就用这两条中较大的一条来更新 i 到 j 的距离 。每两点之间都这样求出路径。最后输出 1 到 2 的距离(1:Freddy‘s stone   2:Fiona‘s stone )。

        只能说,读题能力有待改进啊~~~一开始也读不懂题意 = =

       还有就是 sqrt 的参数不能是整数啦= =,要是double 或 float。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <cmath>
 6 using namespace std;
 7 
 8 const int maxn = 200 + 10;
 9 
10 struct node
11 {
12     double x, y;
13 }point[maxn];
14 
15 double dist[maxn][maxn];
16 
17 double distance(double x1, double x2, double y1, double y2)
18 {
19     double tx = x1 - x2;
20     double ty = y1 - y2;
21     return sqrt(tx*tx+ty*ty);
22 }
23 int main()
24 {
25     int n, l, f = 0, cas = 0;
26     while (scanf("%d", &n) != EOF && n)
27     {
28         if (f)
29             puts("");
30         f = 1;
31         for (l = 1; l <= n; l++)
32             scanf("%lf%lf", &point[l].x, &point[l].y);
33         for (int i = 1; i <= n; i++)
34         {
35             for (int j = i+1; j <= n; j++)
36                 dist[i][j] = dist[j][i] = distance(point[i].x, point[j].x, point[i].y, point[j].y);
37         }
38         // floyed
39         for (int k = 1; k <= n; k++)
40         {
41             for (int i = 1; i <= n; i++)
42             {
43                 for (int j = 1; j <= n; j++)
44                 {
45                     if (i != k && k != j && i != j && dist[i][j] > dist[i][k] && dist[i][j] > dist[j][k])
46                     {
47                         dist[i][j] = dist[j][i] =  max(dist[i][k], dist[j][k]);
48                     }
49                 }
50             }
51         }
52         printf("Scenario #%d\n", ++cas);
53         printf("Frog Distance = %.3lf\n", dist[1][2]);
54     }
55     return 0;
56 }

 

poj 2253 Frogger 解题报告,布布扣,bubuko.com

poj 2253 Frogger 解题报告

标签:style   blog   http   color   os   io   for   ar   

原文地址:http://www.cnblogs.com/windysai/p/3893461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!