zoukankan      html  css  js  c++  java
  • poj2253

    题目大意:有两只青蛙,一只青蛙要调到第二只青蛙,它可以借助任意石头

    要求的是青蛙1到青蛙2所有路径中,该路径下的最大边,但该边比其他路径下的最大边要小

    算法:Prim

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 using namespace std;
     6 const int maxs = 200+5;
     7 const float INF = (1<<30)-1;
     8 int N;
     9 float edge[maxs][maxs];
    10 int point[maxs][2];
    11 void init()
    12 {
    13     for(int i=1;i<=N;i++)
    14         for(int j=1;j<=N;j++)
    15             edge[i][j]=sqrt((point[i][0]-point[j][0])*(point[i][0]-point[j][0])+(point[i][1]-point[j][1])*(point[i][1]-point[j][1]));
    16 }
    17 float prim()
    18 {
    19     init();
    20     bool vis[maxs];
    21     memset(vis,false,sizeof(vis));
    22     vis[1]=true;
    23     float lowcost[maxs],ans=0.0;
    24     for(int i=1;i<=N;i++)
    25         lowcost[i]=edge[1][i];
    26     for(int i=2;i<=N;i++)
    27     {
    28         float mins = INF;
    29         int k=0;
    30         for(int j=1;j<=N;j++)
    31             if(!vis[j]&&lowcost[j]<mins)
    32             {
    33                 mins=lowcost[j];
    34                 k=j;
    35             }
    36         if(mins>ans)
    37             ans=mins;
    38         if(k==2)//k=2时已经到达终点不需再找,自己也是在这个地方wa了n次,继续找就有可能更新掉答案
    39             break;
    40         vis[k]=true;
    41         for(int j=1;j<=N;j++)
    42             if(!vis[j]&&edge[k][j]<lowcost[j])
    43                 lowcost[j]=edge[k][j];
    44     }
    45     return ans;
    46 }
    47 int main()
    48 {
    49     freopen("in.txt","r",stdin);
    50     int T=1;
    51     while(scanf("%d",&N)!=EOF&&N)
    52     {
    53         memset(point,0,sizeof(point));
    54         memset(edge,0,sizeof(edge));
    55         for(int i=1;i<=N;i++)
    56             scanf("%d%d",&point[i][0],&point[i][1]);
    57         getchar();
    58         printf("Scenario #%d
    ",T++);
    59         printf("Frog Distance = %.3f
    
    ",prim());
    60     }
    61     return 0;
    62 }
    View Code
  • 相关阅读:
    jsp文件上传、下载
    Hadoop 集群常见错误
    大学手机课表系统前景和范围文档
    psp工具软件前景与范围文档
    PSP系统项目前景与范围文档
    社团管理系统项目前景与范围文档
    PSP结构化分析
    PSP(个人软件开发过程)需求分析
    有关高校科研系统相关信息分析
    QQ应用前景与范围文档
  • 原文地址:https://www.cnblogs.com/wt20/p/5729970.html
Copyright © 2011-2022 走看看