pku_2253_Frogger
2013-05-16 20:38
183 查看
求两个石头之间的最短距离,问第一个点到第二点的最短距离,这道题的加强版是个好题~但数据太小了弗洛伊德直接搞定.
源代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int N=210;
typedef struct _node
{
int x,y;
}node;
int n;
double graph
;
node a
;
void init()
{
int i;
for(i=0;i<n;i++)
scanf("%d%d",&a[i].x,&a[i].y);
int j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
double x=fabs((double)(a[i].x-a[j].x));
double y=fabs((double)(a[i].y-a[j].y));
graph[i][j]=graph[j][i]=sqrt(x*x+y*y);
}
}
inline double max(double x,double y)
{
return x>y?x:y;
}
inline double min(double x,double y)
{
return x>y?y:x;
}
void floyd()
{
int k,i,j;
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
graph[i][j]=min(graph[i][j],max(graph[i][k],graph[k][j]));
}
int main()
{
int t=1;
while(scanf("%d",&n),n)
{
printf("Scenario #%d\n",t++);
init();
floyd();
printf("Frog Distance = %.3lf\n",graph[0][1]);
puts("");
}
return 0;
}
源代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int N=210;
typedef struct _node
{
int x,y;
}node;
int n;
double graph
;
node a
;
void init()
{
int i;
for(i=0;i<n;i++)
scanf("%d%d",&a[i].x,&a[i].y);
int j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
double x=fabs((double)(a[i].x-a[j].x));
double y=fabs((double)(a[i].y-a[j].y));
graph[i][j]=graph[j][i]=sqrt(x*x+y*y);
}
}
inline double max(double x,double y)
{
return x>y?x:y;
}
inline double min(double x,double y)
{
return x>y?y:x;
}
void floyd()
{
int k,i,j;
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
graph[i][j]=min(graph[i][j],max(graph[i][k],graph[k][j]));
}
int main()
{
int t=1;
while(scanf("%d",&n),n)
{
printf("Scenario #%d\n",t++);
init();
floyd();
printf("Frog Distance = %.3lf\n",graph[0][1]);
puts("");
}
return 0;
}
相关文章推荐
- PKU2253 Frogger
- pku 2253 Frogger(Dijkstra+heap)
- pku 2253 Frogger
- PKU POJ 百练 2253 Frogger
- pku 2253 Frogger Prim算法巧用 解题报告
- pku2253 Frogger
- Dijkstra算法的简单变形 pku 2253 Frogger
- pku 2253 Frogger 第一周训练——最短路
- POJ 2253 Frogger (DIJKSTRA)
- poj 2253 Frogger
- POJ 2253 Frogger(最短路变形)
- POJ 2253 Frogger(最小生成树)
- poj 2253 -- Frogger
- POJ 2253:Frogger:dij的最短路思想变型
- poj2253 Frogger 图论,Floyd
- poj 2253 Frogger
- POJ 2253 Frogger(最短路)
- POJ 2253 - Frogger(最短路`dijkstra)
- POJ 2253 Frogger(dijkstra)
- POJ 2253 Frogger