poj 2031Building a Space Station(几何判断+Kruskal最小生成树)

简介:

/*
  最小生成树 + 几何判断
  Kruskal      球心之间的距离 - 两个球的半径 < 0 则说明是覆盖的!此时的距离按照0计算 
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int f[105];
struct ball{
   double x, y, z, r;
};

struct connect{
   double dist;
   int a, b;
};

connect c[5005];

ball b[105];

bool cmp(connect a, connect b){
   return a.dist < b.dist;
}
int n;

int getFather(int x){
   return x==f[x] ? x : f[x]=getFather(f[x]); 
} 

int Union(int a, int b){
    int fa=getFather(a), fb=getFather(b);
    if(fa!=fb){
        f[fa]=fb;
        return 1;
    }
    return 0;
}

int main(){
   int i, j;
   while(scanf("%d", &n) && n){
      for(i=1; i<=n; ++i)
         scanf("%lf%lf%lf%lf", &b[i].x, &b[i].y, &b[i].z, &b[i].r);
      int cnt=0;
      for(i=1; i<n; ++i)
         for(j=i+1; j<=n; ++j){
             double d = sqrt((b[i].x-b[j].x)*(b[i].x-b[j].x) + (b[i].y-b[j].y)*(b[i].y-b[j].y) + (b[i].z-b[j].z)*(b[i].z-b[j].z))
                        - (b[i].r + b[j].r);
               c[cnt].dist= d<0 ? 0: d;
               c[cnt].a=i; 
               c[cnt++].b=j;
         }
       sort(c, c+cnt, cmp); 
       double minSum=0.0;
       for(i=1; i<=n; ++i)
          f[i]=i;
       for(i=0; i<cnt; ++i){
          if(Union(c[i].a, c[i].b))
             minSum+=c[i].dist;
       }
       printf("%.3lf\n", minSum);
   }
   return 0;
}

目录
相关文章
|
14天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23501 12
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
3天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
1083 0
|
8天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
1995 4
|
18天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
5696 21
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
19天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
6824 16
|
7天前
|
前端开发 API 内存技术
对比claude code等编程cli工具与deepseek v4的适配情况
DeepSeek V4发布后,多家编程工具因未适配其强制要求的`reasoning_content`字段而报错。本文对比Claude Code、GitHub Copilot、Langcli、OpenCode及DeepSeek-TUI等主流工具的兼容性:Claude Code需按官方方式配置;Langcli表现最佳,开箱即用且无报错;Copilot与OpenCode暂未修复问题;DeepSeek-TUI尚处早期阶段。
1288 3
对比claude code等编程cli工具与deepseek v4的适配情况
|
7天前
|
人工智能 前端开发 测试技术
Qoder Skills 完全指南:从零开始,让 AI 按你的标准执行
文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。