zoukankan      html  css  js  c++  java
  • 牛客网 牛客小白月赛2 B.小马过河-简单的计算几何

    B.小马过河

    链接:https://www.nowcoder.com/acm/contest/86/B

    这个题是一个简单的几何题???套个板子就过了,就是直线上两点确定的这条直线和直线外一点的垂足的坐标。

    板子题,但是板子具体的操作没仔细看(嘤嘤嘤???(怕是要被锤死。。。))

    板子来源:传送门

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<cstdlib>
     6 #include<algorithm>
     7 #include<queue>
     8 #include<vector>
     9 #include<stack>
    10 using namespace std;
    11 typedef long long ll;
    12 const int maxn=1e5+10;
    13 const double eps=1e-7;
    14 // 二维空间点到直线的垂足
    15 struct Point
    16 {
    17 double x,y;
    18 };
    19 Point GetFootOfPerpendicular(const Point &pt,const Point &begin,const Point &end){
    20     Point retVal;
    21     double dx = begin.x - end.x;
    22     double dy = begin.y - end.y;
    23     if(abs(dx) < 0.0000000001 && abs(dy) < 0.0000000001 ){
    24         retVal = begin;
    25         return retVal;
    26     }
    27     double u = (pt.x - begin.x)*(begin.x - end.x) + (pt.y - begin.y)*(begin.y - end.y);
    28     u = u/((dx*dx)+(dy*dy));
    29     retVal.x = begin.x + u*dx;
    30     retVal.y = begin.y + u*dy;
    31     return retVal;
    32 }
    33 int main(){
    34     int t;
    35     cin>>t;
    36     while(t--){
    37         Point pt,begin,end;
    38         cin>>pt.x>>pt.y>>begin.x>>begin.y>>end.x>>end.y;
    39         Point retVal=GetFootOfPerpendicular(pt,begin,end);
    40         printf("%.7f %.7f
    ",retVal.x,retVal.y);
    41     }
    42 }
  • 相关阅读:
    python-裴波那契数列
    python-装饰器
    登录权限,认证
    sevlet面试题总结
    ssm整合
    配置文件sshmvc
    利用反射来实现动态代理
    springmvc spring hibernate整合
    中期项目总结
    web servlet 网址http://www.cnblogs.com/mengdd/tag/Servlet/
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9729048.html
Copyright © 2011-2022 走看看