栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1688 Super Star

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1688 Super Star

#include<iostream>#include<time.h>#include<cmath>#include<string.h>#include<stdio.h>#include<stdlib.h>#define sqr(x) (x)*(x)#define FOR(i,a,b) for(int i=a;i<b;i++)#define FF(i,a) for(int i=0;i<a;i++)using namespace std;const double eps=1e-6;const double INF=1e20;const double pi=acos(-1.0);struct Houxuan{    double x,y,z,dist;}pp[10];struct PT{    double x,y,z;}hole[30];double dis(double x1,double y1,double z1,double x2,double y2,double z2){    return sqrt(sqr(x1-x2)+sqr(y1-y2)+sqr(z1-z2));}int n;int main(){    int P=10;    while(scanf("%d",&n)&&n)    {        double delta=100.0;        FF(i,n) scanf("%lf%lf%lf",&hole[i].x,&hole[i].y,&hole[i].z);        FF(i,P)        { pp[i].x=double(rand()%10000+1)/10000.0*100; pp[i].y=double(rand()%10000+1)/10000.0*100; pp[i].z=double(rand()%10000+1)/10000.0*100; pp[i].dist=0; FF(j,n)     pp[i].dist=max(pp[i].dist,dis(pp[i].x,pp[i].y,pp[i].z,hole[j].x,hole[j].y,hole[j].z));        }        while(delta>eps)        { FF(i,P) {     int idx=0;     double tmp=0;     FF(j,n)     {         double d=dis(hole[j].x,hole[j].y,hole[j].z,pp[i].x,pp[i].y,pp[i].z);         if(d>tmp)         {  idx=j;  tmp=d;         }     }     pp[i].dist=min(pp[i].dist,tmp);     pp[i].x=pp[i].x+(hole[idx].x-pp[i].x)/tmp*delta;     pp[i].y=pp[i].y+(hole[idx].y-pp[i].y)/tmp*delta;     pp[i].z=pp[i].z+(hole[idx].z-pp[i].z)/tmp*delta; } delta*=0.98;        }        int idx=0;        FOR(i,1,P)        { if(pp[i].dist<pp[idx].dist)     idx=i;        } printf("%.5lfn",pp[idx].dist);        }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号