题目大意:

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的poi技术遍历Excel时进行空Cell,空row,判断

    /** * 导入信息 */ @Override public List<Object> add(HttpServletRequest request) { // TODO Auto-gen ...

  2. python 中的内置高级函数

    1.map(function,iterable) map是把迭代对象依次进行函数运算,并返回. 例子: map返回的十分map对象,需要list()函数转化. 2.exec()函数 执行储存在字符串或 ...

  3. MProtect使用小计【三】 – 权限管理

    说明 本篇简单的说一下怎么样使用的VMProtect的权限管理功能,使我们的程序拥有注册码的功能.只用的注册版的程序才能执行指定的函数. 同样这个功能VMProtect也有例子位置在:安装目录\VMP ...

  4. Java-Class-@I:org.springframework.web.bind.annotation.PostMapping

    ylbtech-Java-Class-@I:org.springframework.web.bind.annotation.PostMapping 1.返回顶部   2.返回顶部 1. package ...

  5. 7. Jmeter-逻辑控制器介绍与使用

    逻辑控制器介绍与使用 如果(if)控制器 事物控制器 循环控制器 while controller critical section controller foreach控制器 include con ...

  6. 17、通过maven生成测试报告

    目录如下: 通过Maven 生成报告 进入testngTest根目录,运行mvn test 命令 进入 testngTest\target\surefire-reports 路径查看测试报告

  7. JVM简介及类加载机制(一)

    JVM介绍: 目标:JVM运行字节码文件,根据JVM的日志调节程序,对于底层原理有一定的了解 1. 类加载 在JAVA代码中,类型的加载,连接与初始化都是在程序运行期间完成的,提供了灵活性增加了更多的 ...

  8. mysql动态列--统计报表信息对比

    SET @sql = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'MAX(IF(tmp.summary = ''', tp.summary, ''', tm ...

  9. 7年Java后端被淘汰,一路北漂辛酸史。。。

    作者:春天花会开foryou oschina.net/question/3465562_2281392 今天分享一位同行的经历: 本人Java开发6年半不到7年的样子. 英语专业,临毕业跟着隔壁专业去 ...

  10. 8-vim-移动命令-03-段落切换和括号切换

    1.段落切换 vi使用空行来区分段落 在程序开发时,通常一段功能相关的代码会写在一起--之间没有空行 命令 功能 { 上一段 } 下一段 2.括号切换 在程序世界中,() [] {}使用频率很高,而且 ...