2022.2.26 学习 CSP 202009-4 星际旅行

参考博客:第二十次csp认证 第四题 星际旅行题解(大佬啊)
其实我之前不是很懂弧度和角度的区别…:C++中tan、atan、sin、cos等三角函数用法的代码演示及结果,注意角度和弧度的转换!

心得: 仔细分析题目,寻找解题方式,然后再代码,不要一头雾水的一遍写代码一遍瞎想。。
少起一些乱七八糟的变量名。。。。能避免重复计算就尽量避免

#include <bits/stdc++.h>
using namespace std;
int n,m,r;
int o[101];
int s[2001][101];//m个点
double d[2001];//m个点到o点的距离
double rd[2001];//m个点与圆做切线,点到切点的距离
double result[2001][2001]={0};int main()
{std::ios::sync_with_stdio(false);cin>>n>>m;cin>>r;for(int i=1;i<=n;i++){cin>>o[i];}for(int i=1;i<=m;i++){int tmp=0;for(int j=1;j<=n;j++){cin>>s[i][j];tmp+=(s[i][j]-o[j])*(s[i][j]-o[j]);}d[i]=sqrt(tmp);rd[i]=sqrt(tmp-r*r);}for(int i=1;i<=m;i++){for(int j=i+1;j<=m;j++){double tmp=0;for(int k=1;k<=n;k++){tmp+=(s[i][k]-s[j][k])*(s[i][k]-s[j][k]);}double x=sqrt(tmp);double p=(d[i]+d[j]+x)/2;double s=sqrt(p*(p-d[i])*(p-d[j])*(p-x));double h=2*s/x;if(h>=r || (x*x+d[j]*d[j]<=d[i]*d[i]) || (x*x+d[i]*d[i]<=d[j]*d[j])){result[i][j]=result[j][i]=x;continue;}else{double j1=acos((d[i]*d[i]+d[j]*d[j]-x*x)/(2*d[i]*d[j]));//(d[i]*d[i]+d[j]*d[j]-x*x)/(2*d[i]*d[j])得到的是该角的cos值,使用反cos即acos求该角对应的弧长double j2=acos(r/d[i]);double j3=acos(r/d[j]);double hu=(j1-j2-j3)*r;result[i][j]=result[j][i]=hu+rd[i]+rd[j];}}}for(int i=1;i<=m;i++){double sum=0;for(int j=1;j<=m;j++){sum+=result[i][j];}cout<<setiosflags(ios::fixed)<<setprecision(14)<<sum<<endl;}return 0;
}

CSP 202009-4 星际旅行相关推荐

  1. CSP认证 202009-4 星际旅行 Python 题解 思路清晰

    CSP认证 202009-4 星际旅行 Python 题解 思路清晰 本题找对数学关系就很容易求了,分三种情况: P1,P2的连线 与圆心的距离 >=r,即这条直线在园外,P1和P2的最短距离就 ...

  2. 【CSP】202009-4 星际旅行(计算几何)

    该题本质上并不难,只要你理解了它的核心--刨析直线与圆的关系. 在以前的高中课本中,想必大家都学过,过三点必确定一个平面,显然这里的三点我们取黑体中心,及任意两个旅行点.这样一来超维情况便只剩下解决两 ...

  3. 第 20 次 CSP认证 202009-4 星际旅行

    样例一输入: 2 3 2 3 1 5 1 1 3 3 -2 样例一输入: 3 8 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 -1 -1 0 -1 0 -1 0 -1 -1 -1 ...

  4. CCF CSP认证 202009-4 星际旅行

    题面链接: http://118.190.20.162/view.page?gpid=T111 三种情况的分析: https://blog.csdn.net/qq_43400598/article/d ...

  5. CCF202009-4 星际旅行(100分题解链接)

    试题编号: 202009-4 试题名称: 星际旅行 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个n维欧几里得空间的宇宙中,小 A 打算完成一次星际旅行. 利用n维直角 ...

  6. 第二十次csp认证 第四题 星际旅行题解

    问题描述 试题编号: 202009-4 试题名称: 星际旅行 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个 维欧几里得空间的宇宙中,小 A 打算完成一次星际旅行. 利 ...

  7. CSP 202012-5 星际旅行(60分)

    题目链接 一个优秀的 OI 选手一定要学会如何在实力范围内骗最大的分,我们每一题可以都不求满分,但是要尽可能拿到最多的分~ 就拿这题来说,个人觉得比那道模拟好拿分,首先看第一个 20 分,看数据范围很 ...

  8. 历届CSP真题题解-CSP刷真题之路

    历届CSP真题题解-CSP刷真题之路(持续更新中...) 2020-12 2020-09 2020-06 2019-12 2020-12 题目编号 题解链接 CSP202012-1 期末预测之安全指数 ...

  9. CCF202012-5 星际旅行【线段树】(100分题解链接)

    试题编号: 202012-5 试题名称: 星际旅行 时间限制: 3.0s 内存限制: 512.0MB 问题描述: 题目描述 乔帝要规划一次星际旅行,星际空间可以视为一个3维坐标系,乔帝有n(n≤1,0 ...

  10. CSP202012-5 星际旅行 满分详解

    CSP202012-5 星际旅行 满分详解 题目 结果 算法分析 详细代码讲解 1.输入并根据操作种类调用方法 2.交换函数 3.下传操作 4.add()函数模拟动力增加 5.mul()函数模拟动力强 ...

最新文章

  1. go标准库的学习-crypto/aes
  2. 最新ZeuS僵尸网络敲响网银安全警钟
  3. sap 采购订单中收货容差的取值顺序
  4. [二叉树建树] 后序遍历与中序遍历建立二叉树
  5. 从第一范式到第二范式所做的操作是_给女同事讲解MySQL数据库范式与反范式,她直夸我“技术好”
  6. java 虚拟机 新生代与老年代gc_java 虚拟机--新生代与老年代GC
  7. jax-rs jax-ws_如何以大数据的JAX-RS响应的形式将JPA结果流化/序列化
  8. 柜员计算机技能,新入职柜员必备软件:柜员技能训练系统最新版
  9. Linux之特殊的环境变量IFS以及如何删除带有空格的目录
  10. python中的列表排序
  11. 网站在线沟通工具,网站即时聊天工具-TTKEFU在线客服系统功能介绍
  12. psd缩略图上传组件
  13. Python实现过采样和欠采样
  14. 《炬丰科技-半导体工艺》--技术资料合集14
  15. acme申请证书报错:Please update your account with an email address first.的修复方法
  16. IE6 遇到bug及解决办法
  17. 关于使用腾讯乐固加固,涉及的签名及其他问题
  18. MySQL数据库——锁机制
  19. 讯飞语音api 文字转语音生成MP3遇到的bug
  20. Python利用单行热力图绘制好看的风向风速

热门文章

  1. ERROR 1018 (HY000): Can‘t read dir of ‘.‘ (errno: 13 - Permission denied)
  2. Java TIF、JPG、PNG等图片转换
  3. metro,subway,tube这三个单词如何区分?
  4. 蓉叶云库——简单介绍seo技术
  5. u盘显示请插磁盘f_U盘插电脑上一直显示请插入磁盘是啥意思 - 卡饭网
  6. 【传智播客郑州】Hibernate Serach 5.9全文检索快速入门
  7. CSS背景颜色之奇技淫巧
  8. 1000瓶水10只小白鼠问题-面试题目
  9. mac忘记mysql用户名和密码_mac 下 忘记mysql密码如何找回
  10. 设计一个密码登录程序。要求: 设定用户名为lili,密码是123321。若用户名正确,密码也正确,则显示:“lili,欢迎您”