题目大意:

https://nanti.jisuanke.com/t/34142

有一个弯道抽象成圆的一部分 车子抽象成矩形

漂移过程中矩形上边会与圆的圆心在同一条直线上

以右上点贴着弯道边缘进行漂移

看不懂题意导致几何题没能做出来 我这个替补选手的临时补位真是愧对队友

所幸是模拟赛 英语渣的痛希望四级放过我

车子漂移时 实际上最远点会画出一个圆 如上红圆

那么当角度为如上a角时 轨道宽度此时必须最大

而角度大于a角时 轨道宽度同样必须为最大 根据勾股定理此时 maxw=sqrt( (a+r)*(a+r)+b*b ) - r

所以此时还需要解决角度小于a时的情况 如上橙色矩形

此时w可小于最大 发现其最远点与等于a角时的最远点 实际上在红圆上形成了一个圆心角 thi

那么就可以计算出thi对应的弦的长度L 而弦与直轨道的夹角ang也是可求的

所以可以得到w的减小值为L*sin(ang) 所以此时 w=maxw-L*sin(ang)

PS: 代码中的角度名与上述讲解并不一一对应

#include <bits/stdc++.h>
using namespace std;
const double PI=acos(-1.0);
const double eps=1e-;
int dcmp(double x) {
if(abs(x)<eps) return ;
else return x> ? :-;
}
int main()
{
int t; scanf("%d",&t);
while(t--) {
int a,b,r,d; scanf("%d%d%d%d",&a,&b,&r,&d);
double maxr=sqrt((a+r)*(a+r)+b*b);
double thi=acos((a+r)*1.0/maxr);
double arf=d*1.0/180.0*PI;
if(dcmp(arf-thi)>=) printf("%.12f\n",maxr-1.0*r);
else {
double ang=thi-arf;
double ang1=(PI-ang)/2.0;
double L=cos(ang1)*maxr*2.0;
double ang2=PI/2.0-ang1;
double bye=sin(ang2)*L;
printf("%.12f\n",maxr-1.0*r-bye);
}
} return ;
}

2018ICPC焦作 D-Keiichi Tsuchiya the Drift King /// 几何的更多相关文章

  1. Keiichi Tsuchiya the Drift King (c++三角函数公式)【几何+三角函数公式】

    Keiichi Tsuchiya the Drift King 感谢:  https://blog.csdn.net/xiao_you_you/article/details/89357815 题目链 ...

  2. 2018 ICPC 区域赛 焦作场 D. Keiichi Tsuchiya the Drift King(计算几何)

    http://codeforces.com/gym/102028/problem/D 题意:根据题中给的那个图,然后题目给你 a,b,r,d,让你求出最小的满足矩形通过弯道的w 思路:

  3. D - Keiichi Tsuchiya the Drift King Gym - 102028D (几何)

    题目链接:https://cn.vjudge.net/contest/275150#problem/D 题目大意: 问你能满足那个矩形可以顺利通过的条件,然后求出最小的w 具体思路:首先,我们应该将情 ...

  4. 2018ICPC焦作 F. Honeycomb /// BFS

    题目大意: 给定n m表示一共n行每行m个蜂巢 求从S到T的最短路径 input 1 3 4 +---+ +---+ / \ / \ + +---+ +---+ \ \ / \ + + S +---+ ...

  5. ICPC 2018 焦作区域赛

    // 2019.10.7 练习赛 // 赛题来源:2018 ICPC 焦作区域赛 // CF链接:http://codeforces.com/gym/102028 A Xu Xiake in Hena ...

  6. Codeforces - Gym102028 - 2018 Jiaozuo Regional Contest

    http://codeforces.com/gym/102028 A. Xu Xiake in Henan Province 看起来像水题.乱搞一下,还真是. #include<bits/std ...

  7. 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest

    目录 Contest Info Solutions A. Xu Xiake in Henan Province D. Keiichi Tsuchiya the Drift King E. Resist ...

  8. SFC游戏列表(维基百科)

    SFC游戏列表 日文名 中文译名 英文版名 发行日期 发行商 スーパーマリオワールド 超级马里奥世界 Super Mario World 1990年11月21日 任天堂 エフゼロ F-Zero F-Z ...

  9. 2018ICPC网络赛(焦作站)E题题解

    一.题目链接 二.题意 给定一棵树,有四种操作: $1\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值乘以$x$: $2\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值加上 ...

随机推荐

  1. java做题笔记

    java做题笔记 1. 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序 ...

  2. c#网络通信框架networkcomms内核解析之三 消息同步调用

    networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 客户端发送消息给服务器,服务器计算结果返回 ...

  3. LeetCode 相交链表&环形链表II

    题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 题目连接:https://leetcode-cn.com ...

  4. 设置非阻塞的套接字Socket

    当使用socket()函数和WSASocket()函数创建套接字时,默认都是阻塞的.在创建套接字之后,通过调用ioctlsocket()函数,将该套接字设置为非阻塞模式.函数的第一个参数是套接字,第二 ...

  5. <Git>git学习

    1.安装 分布式版本控制:工作电脑保存完整的代码,中央服务器挂了也可以使用 集中式版本控制:中央服务器挂了就凉凉 sudo apt-get install git git安装 检测安装成功 git 2 ...

  6. 几何问题 poj 1408

    参考博客: 用向量积求线段焦点证明: 首先,我们设 (AD向量 × AC向量) 为 multi(ADC) : 那么 S三角形ADC = multi(ADC)/2 . 由三角形DPD1 与 三角形CPC ...

  7. Mybatis Generator 安装(idea+maven)

    1.在Intellij IDEA创建maven项目(本过程比较简单,略) 2. 在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <bui ...

  8. 异步action和redux-thunk理解

    异步action一般指的就是异步action创建函数 action创建函数分为同步action创建函数和异步action创建函数 同步action创建函数(最常见的): function reques ...

  9. 2019-7-15-WPF-测试触摸设备发送触摸按下和抬起不成对

    title author date CreateTime categories WPF 测试触摸设备发送触摸按下和抬起不成对 lindexi 2019-7-15 9:3:51 +0800 2019-0 ...

  10. 2018-2-13-win10-uwp-让焦点在点击在页面空白处时回到textbox中

    title author date CreateTime categories win10 uwp 让焦点在点击在页面空白处时回到textbox中 lindexi 2018-2-13 17:23:3 ...