hdu5476Explore Track of Point+平面几何

原创 2016年08月31日 16:18:48

Problem Description
In Geometry, the problem of track is very interesting. Because in some cases, the track of point may be beautiful curve. For example, in polar Coordinate system, ρ=cos3θ is like rose, ρ=1−sinθ is a Cardioid, and so on. Today, there is a simple problem about it which you need to solve.

Give you a triangle ΔABC and AB = AC. M is the midpoint of BC. Point P is in ΔABC and makes min{∠MPB+∠APC,∠MPC+∠APB} maximum. The track of P is Γ. Would you mind calculating the length of Γ?

Given the coordinate of A, B, C, please output the length of Γ.

Input
There are T (1≤T≤104) test cases. For each case, one line includes six integers the coordinate of A, B, C in order. It is guaranteed that AB = AC and three points are not collinear. All coordinates do not exceed 104 by absolute value.

Output
For each case, first please output “Case #k: “, k is the number of test case. See sample output for more detail. Then, please output the length of Γ with exactly 4 digits after the decimal point.

Sample Input

1
0 1 -1 0 1 0

Sample Output

Case #1: 3.2214

Source
2015 ACM/ICPC Asia Regional Shanghai Online
盗了一张图。
这里写图片描述
答案就是劣弧BC+AM
由相似的r.

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<queue>
#include<vector>
#include<map>
#include<stack>
#include<set>
#define pi acos(-1.0)
#define EPS 1e-6    //log(x)
#define e exp(1.0); //2.718281828
#define mod 1000000007
#define INF 0x7fffffff
#define inf 0x3f3f3f3f
typedef long long LL;
using namespace std;
double dis(double x1,double y1,double x2,double y2){
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
    int t;
    scanf("%d",&t);
    double ax,ay,bx,by,cx,cy;
    for(int cas=1;cas<=t;cas++){
        scanf("%lf %lf %lf %lf %lf %lf",&ax,&ay,&bx,&by,&cx,&cy);
        double mx=(bx+cx)/2,my=(by+cy)/2;
        double am=dis(ax,ay,mx,my);
        double bm=dis(bx,by,mx,my);
        double ab=dis(ax,ay,bx,by);
        double r=ab*bm/am;
        //cout<<r<<" "<<bm<<endl;
        //cout<<acos(bm/r)<<endl;
        double ans=(pi/2-acos(bm/r))*2*r;
        printf("Case #%d: %.4f\n",cas,ans+am);
    }

    return 0;
}

/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         I have a dream!A AC deram!!
 orz orz orz orz orz orz orz orz orz orz orz
 orz orz orz orz orz orz orz orz orz orz orz
 orz orz orz orz orz orz orz orz orz orz orz

*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

AngularJS的orderBy和track by的同时使用问题

在项目中,遇到一个问题,Angular中的ng-repeat中,track by和order by同时使用时候,order by失效了。 我们先来看一下ng-repeat的工作原理。 这里有一个D...
  • ouyangyanlan
  • ouyangyanlan
  • 2015年12月12日 15:29
  • 8531

git 已提交文件的 如何屏蔽git的track

正确的做法应该是:git rm --cached logs/xx.log,然后更新 .gitignore 忽略掉目标文件,最后 git commit -m "We really don't want...
  • n517052183
  • n517052183
  • 2015年04月13日 16:43
  • 3388

mp4v2研究笔记1-获得Track(新)

***免责申明:本博客是博主研究mp4v2时的笔记,第一初衷是备忘,是写给自己看的,想到多少写多少,文中观点很可能不正确,也可能缺乏逻辑性,可读性,不喜勿喷。*** 正文: mp4v2是一...
  • relar
  • relar
  • 2014年02月06日 11:29
  • 2813

[安全]Back_Track_5 vm 版安装和使用

下载安装 下载使用国内的镜像  http://mirrors.ustc.edu.cn/kali-images/kali-1.0.9/ 我这里是vm9.0 下载之后解压,然后打开vm,然...
  • lzz957748332
  • lzz957748332
  • 2014年12月30日 23:56
  • 1662

git 把远程分支拿到本地,并建立关联关系track

http://www.open-open.com/lib/view/open1328069889514.html 从远程分支 checkout 出来的本地分支,称为_跟踪分支(tracking ...
  • arkblue
  • arkblue
  • 2013年08月06日 12:55
  • 130241

平面几何和立体几何

http://blog.csdn.net/pipisorry/article/details/73294222平面几何余弦定理和勾股定理余弦定理和勾股定理的几何图形解释[震惊!余弦定理和勾股定理竟然有...
  • pipisorry
  • pipisorry
  • 2017年06月15日 17:21
  • 765

二维平面几何

二维平面几何中关于向量运算的实现#include #include using namespace std; /* run this program using the console pauser...
  • daguge1
  • daguge1
  • 2015年06月11日 09:30
  • 131

Back Track5学习笔记二

漏洞发现 第一部分Cisco工具 1.  CAT安全审计工具,扫描Cissco路由器的一般性漏洞 ./CAT -h 192.168.8.254 -w lists/community -a lis...
  • tingyuanss
  • tingyuanss
  • 2013年07月16日 23:38
  • 3821

路由基础(四)静态路由与SLA技术

在网络中我们使用静态路由优先级进行主备选路,有备胎感觉就高枕无忧,但是你真的知道什么时候主用线路会失效? 首先涉及到的是静态路由加表的条件,静态路由加表条件是下一跳可达(双UP)。 1.1...
  • m0_37902511
  • m0_37902511
  • 2017年04月26日 15:03
  • 496

SVN trunk(主干)branch(分支)tag(标记)

SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤 ...
  • hyupeng1006
  • hyupeng1006
  • 2018年01月04日 15:49
  • 19
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu5476Explore Track of Point+平面几何
举报原因:
原因补充:

(最多只允许输入30个字)