题意:

给你一个以原点为圆心的两个圆,一个大圆,一个小圆,然后给你一个硬币和他的速度,问你经过大圆的时间;

思路:

直接杠。。

然后wa的怀疑人生,后面wa在了速度的方向,如果我说一个点在两个圆的左上方,那么速度也是左上方,那么就是0;

其他都还简单;

贴一发比赛时的挫代码。。。

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <queue>
#include <stack>
using namespace std;
const int MAX=210;
const double eps=1e-3;
int n,m;
int main()
{
int i,j,t;
double Rm,r,R,x,y,vx,vy;
while(~scanf("%lf%lf%lf%lf%lf%lf%lf",&Rm,&R,&r,&x,&y,&vx,&vy))
{
double x1,x2,y1,y2,x3,x4,y3,y4;
double Rmr=(Rm+r)*(Rm+r);
double Rr=(r+R)*(r+R);
double a1=vx*vx+vy*vy;
double b1=2*(vx*x+vy*y);
double c1=x*x+y*y-Rr; double a2=vx*vx+vy*vy;
double b2=2*(vx*x+vy*y);
double c2=x*x+y*y-Rmr; double aa=vx*vx+vy*vy; // 碰不到大圆
if(b1*b1-4*a1*c1<=eps)
{
puts("0.000");
}
else
{
double time1,time2;
double dt1=sqrt(b1*b1-4*a1*c1);
time1=(-b1+dt1)/2.0/a1;
time2=(-b1-dt1)/2.0/a1;
if(time1<=eps)// 碰不到大圆 时间一定是正的
{
puts("0.000");
continue;
}
x1=time1*vx+x;
y1=time1*vy+y;
x2=time2*vx+x;
y2=time2*vy+y;
//只经过大圆
if(b2*b2-4*a2*c2<=eps)
{
double ans=((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))/aa;
printf("%.6lf\n",sqrt(ans));
}
else //经过小圆和大圆
{
double dt2=sqrt(b2*b2-4*a2*c2);
double time3,time4;
time3=(-b2+dt2)/2.0/a2;
time4=(-b2-dt2)/2.0/a2;
x3=time3*vx+x;
y3=time3*vy+y;
x4=time4*vx+x;
y4=time4*vy+y; double ans1=((x1-x4)*(x1-x4)+(y1-y4)*(y1-y4))/aa;
double ans2=((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3))/aa; double ans=min(ans1,ans2);
printf("%.6lf\n",2*sqrt(ans));
}
}
}
return 0;
}
/* */

HDU4973 【几何。】的更多相关文章

  1. 关于Three.js基本几何形状之SphereGeometry球体学习

    一.有关球体SphereGeometry构造函数参数说明 <1>.SphereGeometry(radius, widthSegments, heightSegments, phiStar ...

  2. 几何服务,cut功能测试

    关于几何服务 几何服务用于辅助应用程序执行各种几何计算,如缓冲区.简化.面积和长度计算以及投影.在 ArcGIS Server 管理器中启动几何服务之后,您才能够在应用程序开发过程中使用该服务. 问题 ...

  3. 几何服务,cut功能,输入要素target(修改后)内容。

    几何服务,cut功能测试,输入要素target(修改后)内容. {"displayFieldName":"","fieldAliases": ...

  4. 几何服务,cut功能,输入要素target(修改前)内容。

    几何服务,cut功能测试,输入要素target(修改前)内容. {"geometryType":"esriGeometryPolyline","geo ...

  5. 如何让你的UWP应用程序无缝调用几何作图

    有时候需要编辑一些几何图形,如三角形,圆锥曲线等,在UWP应用中加入这些几何作图功能是件费时间又很难做好的事.其实Windows 10 应用商店中已有一些专业的几何作图工具了,那么能借来一用吗?答案是 ...

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

    /* 最小生成树 + 几何判断 Kruskal 球心之间的距离 - 两个球的半径 < 0 则说明是覆盖的!此时的距离按照0计算 */ #include<iostream> #incl ...

  7. NOIP2002矩形覆盖[几何DFS]

    题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...

  8. DOM 元素节点几何量与滚动几何量

    当在 Web 浏览器中查看 HTML 文档时,DOM 节点被解析,并被渲染成盒模型(如下图),有时我们需要知道一些信息,比如盒模型的大小,盒模型在浏览器中的位置等等,本文我们就来详细了解下元素节点的几 ...

  9. Get it,你离几何达人不远了!

    对于爱学几何的人,是否存在这样的困扰:没有标准的尺规工具,图形画的不标准,理解上总是出错......整天在纸上画图,浪费大把大把的时间......几何图形画的不美观,在别人面前都拿不出手,公开课上都没 ...

随机推荐

  1. MVC入门——编辑页

    添加Action  EditUserInfo using System; using System.Collections.Generic; using System.Linq; using Syst ...

  2. 相似进程死掉Process com.midea.mmp2 died.

    此异常查到网上有一篇不错的文章例如以下: 08:56:03,273 INFO – 运行Do func=[GetSeqNo] keyNam=[keynam];KeyVal=[PRYPAYBILSYSTR ...

  3. 实例具体解释:反编译Android APK,改动字节码后再回编译成APK

    本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...

  4. javascript中提高代码的封装性

    我出的面试题中,有一条是问如何避免页面引用JS,出现函数.变量重复.冲突的. 从大的方面讲,应该引入javascript的模块化开发,符合AMD规范之类: 从小的方面说,大概就是限定变量和函数的作用域 ...

  5. Colly provides a clean interface to write any kind of crawler/scraper/spider

    Scraping Framework for Golang http://go-colly.org/ https://github.com/gocolly/colly package main imp ...

  6. rule-based optimizer cost-based optimizer

    SQL processing uses the following main components to execute a SQL query: The Parser checks both syn ...

  7. 第一节 麒麟系统安装+基础环境搭建(JDK+Scala)

    本文重点对没有Linux基础的人员提供高速上手的指导,假设你的开发环境已经搭建好,能够略过本章所讲内容,内容来源于网络.也谢谢这些默默讲自己经验分享的人!近期在学习大数据,有喜欢的朋友能够一起研究. ...

  8. 配置tomcat,使访问项目时候无项目名

    首先在盘符下新建一个文件夹(web),该文件夹存贮运行的项目用. 然后编辑config文件夹下的server.xml文件: 在<Host>标签中添加配置: <Context path ...

  9. Redis相关的内核参数解释与设置

    参数 somaxconn /proc/sys/net/core/somaxconn 对于TCP连接,Client和Server连接需要三次握手来建立连接,Server端监听状态会由LISTEN切换为E ...

  10. java HttpClient GET请求

    HttpClient GET请求小实例,先简单记录下. package com.httpclientget; import java.io.IOException; import org.apache ...