zoukankan      html  css  js  c++  java
  • 又遇到一个奇葩问题....输出double用%f...

    题目链接:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=384#problem/D

    Building a Space Station
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    double f[110][110];
    int vist[110];
    struct node
    {
        double x,y,z,r;
    }p[110];
    double ff(node a,node b)
    {
        return (sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z))-a.r-b.r);
    }
    int main()
    {
        int n,i,j;
        while (~scanf("%d",&n) && n)
        {
            for (i=1;i<=n;i++)
                scanf("%lf%lf%lf%lf",&p[i].x,&p[i].y,&p[i].z,&p[i].r);
            for (i=1;i<n;i++)
                for (j=i+1;j<=n;j++)
                {
                    double l=ff(p[i],p[j]);
                    if (l>0) f[i][j]=f[j][i]=l;
                        else f[i][j]=f[j][i]=0.000;        
                }
            memset(vist,0,sizeof(vist));
            vist[1]=1;
            int pos,t=n-1;
            double s=0;
            while (t--)
            {
                double min=110.000;
                for (i=2;i<=n;i++)
                    if (!vist[i] && f[1][i]<min)
                    {
                        pos=i;
                        min=f[1][i];
                    }
                if (min-110.000==0break;
                s+=min;
                vist[pos]=1;
                for (i=2;i<=n;i++)
                    if (!vist[i] && f[pos][i]<f[1][i])
                        f[1][i]=f[pos][i];
            }
            printf("%0.3f\n",s);
        }
        return 0;
    }
    当你试图了解你的祖国时,你已踏上了犯罪的路程。
  • 相关阅读:
    1.5 判断是奇数还是偶数(比较运算符 & if...else)
    1.4计算器 (数字类型 & 算术运算符 &赋值运算符)
    1.3hello 张三(终端交互 & 字符串)
    1.2python语言环境 & python IDE(集成开发环境)搭建
    Centos 7 下安装jdk 7
    Centos 7 安装redis
    git 学习笔记
    git 基础操作
    git 获取远程分支的代码
    redis基础操作
  • 原文地址:https://www.cnblogs.com/modiz/p/3037172.html
Copyright © 2011-2022 走看看