zoukankan      html  css  js  c++  java
  • Froggers

    这个,我连题目都没读懂,但是听说是最小生成树,我也不是很清楚,所以直接贴代码,感谢大神

    #include <iostream>  
    #include <cmath>  
    using namespace std;  
    double map[210][210];  
    int n;  
    struct Stone  
    {  
        int x, y;  
    }s[210];  
    void Floyd()  
    {  
        int i,j,k;  
        for(k=0; k<n; k++)  
        for(i=0; i<n-1; i++)  
        for(j=i+1; j<n; j++)  
        {  
            if(map[i][j]>map[i][k] && map[i][j]>map[k][j])  
            {  
                if(map[i][k]>map[k][j])  
                    map[j][i]=map[i][j] = map[i][k];  
                else   
                    map[j][i]=map[i][j] = map[k][j];  
            }  
        }  
    }  
    double getdis(int a, int b)  
    {  
        return sqrt((double)(s[a].x-s[b].x)*(s[a].x-s[b].x)+(double)(s[a].y-s[b].y)*(s[a].y-s[b].y));  
    }  
    int main()  
    {  
        int Case=0,i,j;  
        while(scanf("%d", &n), n)  
        {  
            for(i=0; i<n; i++)  
                scanf("%d %d", &s[i].x, &s[i].y);  
            for(i=0; i<n; i++)  
            for(j=i+1; j<n; j++)  
            {  
                map[i][j]=map[j][i]=getdis(i,j);  
            }  
            Floyd();  
            printf("Scenario #%d
    Frog Distance = %.3lf
    
    ", ++Case, map[0][1]);  
        }  
        return 0;  
    }  
    
    
     
     
    

      

  • 相关阅读:
    穷举和迭代
    for循环练习题
    case when then else end 用法
    如何将数据库账号(用户)解锁
    比赛安排
    How to spend you day ?
    异常-问题型
    重载和重写的区别
    new关键字的理解-问题型
    源辰项目-1
  • 原文地址:https://www.cnblogs.com/yintoki/p/5714062.html
Copyright © 2011-2022 走看看