news 2026/9/3 1:48:30

《P4035 [JSOI2008] 球形空间产生器》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《P4035 [JSOI2008] 球形空间产生器》

题目描述

有一个球形空间产生器能够在 n 维空间中产生一个坚硬的球体。现在,你被困在了这个 n 维球体中,你只知道球面上 n+1 个点的坐标,你需要以最快的速度确定这个 n 维球体的球心坐标,以便于摧毁这个球形空间产生器。

输入格式

第一行是一个整数 n (1≤N≤10)。接下来的 n+1 行,每行有 n 个实数,表示球面上一点的 n 维坐标。每一个实数精确到小数点后 6 位,且其绝对值都不超过 20000。

输出格式

有且只有一行,依次给出球心的 n 维坐标( n 个实数),两个实数之间用一个空格隔开。每个实数精确到小数点后 3 位。数据保证有解。你的答案必须和标准输出一模一样才能够得分。

输入输出样例

输入 #1复制

2 0.0 0.0 -1.0 1.0 1.0 0.0

输出 #1复制

0.500 1.500

说明/提示

提示:给出两个定义:

  1. 球心:到球面上任意一点距离都相等的点。
  2. 距离:设两个 n 维空间上的点 A,B 的坐标为 (a1​,a2​,⋯,an​),(b1​,b2​,⋯,bn​),则 A,B 的距离定义为:dist=(a1​−b1​)2+(a2​−b2​)2+⋯+(an​−bn​)2​。

代码实现:

#include<bits/stdc++.h> #define reg register const int mn = 15; int n; double a[mn][mn]; double b[mn][mn]; int main(){ scanf("%d", &n); for(reg int i = 1; i <= n+1; i ++) for(reg int j = 1; j <= n; j ++) scanf("%lf", &b[i][j]); for(reg int i = 1; i <= n; i ++){ for(reg int j = 1; j <= n; j ++) a[i][j] = 2.0*(b[i+1][j] - b[i][j]); a[i][n+1] = 0; for(reg int j = 1; j <= n; j ++) a[i][n+1] += (b[i][j]+b[i+1][j])*(b[i+1][j] - b[i][j]); } for(reg int i = 1; i <= n; i ++){ int mid = i; for(reg int j = i+1; j <= n; j ++) if(fabs(a[mid][i]) < fabs(a[j][i])) mid = j; std::swap(a[i], a[mid]); double t = a[i][i]; for(reg int j = i; j <= n+1; j ++) a[i][j] /= t; for(reg int j = i+1; j <= n; j ++){ t = a[j][i]; for(reg int k = i; k <= n+1; k ++) a[j][k] -= a[i][k] * t; } } for(reg int i = n; i >= 1; i --) for(reg int j = i+1; j <= n; j ++) a[i][n+1] -= a[i][j]*a[j][n+1]; for(reg int i = 1; i <= n; i ++) printf("%.3lf ", a[i][n+1]); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 20:00:22

【GitHub项目推荐--Remotion Skills:AI代理技能框架】⭐⭐⭐

简介 Remotion Skills​ 是一个开源的人工智能代理技能框架&#xff0c;由 remotion-dev 团队开发。该项目专注于为 AI 代理提供可扩展的技能系统&#xff0c;支持开发者快速构建和集成各种功能模块。根据 GitHub 仓库信息&#xff0c;该项目采用 TypeScript 编写&#xff0c;…

作者头像 李华
网站建设 2026/9/2 19:59:38

AI应用架构师主动学习实践:推动产业创新升级

AI应用架构师主动学习实践指南&#xff1a;从技术落地到产业创新升级 一、引言&#xff1a;AI架构师的“数据焦虑”与主动学习的破局之道 作为一名AI应用架构师&#xff0c;你是否曾遇到过这样的困境&#xff1f; 为了训练一个精准的推荐模型&#xff0c;需要标注10万条用户…

作者头像 李华