zoukankan      html  css  js  c++  java
  • 1068-烦恼的中学生

    描述

     

        很多学生都会找点兼职来赚点外快,Alfred也不例外,他找的兼职是家教。好了,现在Alfred的工作就是辅导一个高中生的数学。

        这一天,这位高中生叫Alfred帮忙做一下作业:在二维平面内给出一个三角形的三个顶点坐标,现在的任务是求出这个三角形的垂心,也就是三角形的三条高线所在直线的交点。

        当然,Alfred的数学是不错的,对于这么简单的问题,Alfred只用了半分钟就解决掉了,正当Alfred得意的时候,这位高中生却毫不吃惊地说:我们的作业一共有100条呢! Alfred听见了之后不禁倒抽了一口凉气,现在的中学生真命苦啊。

        所以,打抱不平的Alfred决定要帮这位高中生的忙:利用计算机程序来批量解决这个问题,但是Alfred苦思数日却没有想出来解决办法,你们能帮他这个忙吗?

    输入

        第一行是一个整数C(C<=100),表示有C组测试数据,每组数据三行,每行两个浮点数分别表示三角形某个顶点的x,y坐标。所有坐标的绝对值<10000。输入保证三点不共线。

    输出

        对于每组输入数据,输出两个浮点数xh, yh表示所给三角形垂心的纵横坐标,保留三位小数(四舍五入)。

    样例输入

    3
    -10 0

    0 10

    10 0


    -10 0

    10 0

    0 17.321


    2 10

    4 -5

    20 6

    样例输出

    0.000 10.000

    0.000 5.774

    6.031 4.137

    #include<iostream>
    using namespace std;
    double paichu(double m)
    {
        if((m<=0.001)&&(m>=-0.001))
            return 0;
        else
            return m;
    }
    int main()
    {
        //freopen("a.txt","r",stdin);
        int c;
        double x1,y1,x2,y2,x3,y3,x,y;
        cin>>c;
        while(c--)
        {
            cin>>x1>>y1>>x2>>y2>>x3>>y3;
            x=-(x1*x2*y1-x1*x3*y1-x1*x2*y2+x2*x3*y2+y1*y1*y2-y1*y2*y2+x1*x3*y3-x2*x3*y3-y1*y1*y3+y2*y2*y3+y1*y3*y3-y2*y3*y3)/(-x2*y1+x3*y1+x1*y2-x3*y2-x1*y3+x2*y3);
            y=-(x1*x1*x2-x1*x2*x2-x1*x1*x3+x2*x2*x3+x1*x3*x3-x2*x3*x3+x1*y1*y2-x2*y1*y2-x1*y1*y3+x3*y1*y3+x2*y2*y3-x3*y2*y3)/(x2*y1-x3*y1-x1*y2+x3*y2+x1*y3-x2*y3);
            x=paichu(x);
            y=paichu(y);
            printf("%.3f %.3f
    ",x,y);
        }
        return 0;
    } 
    

      

  • 相关阅读:
    如何在Linux下修改Mysql的用户(root)密码
    CentOS 6.x 如何升级 glibc 2.17
    Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
    darkflow测试和训练yolo
    使用 Alibaba 的 Homebrew 镜像源进行加速
    树莓派开启SSH的N种方法
    Linux开启ssh服务
    在Linux中创建静态库.a和动态库.so
    linux下动态链接库(.so)的显式调用和隐式调用
    删除Win10资源管理器中的3D对象/音乐/视频文件夹
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436829.html
Copyright © 2011-2022 走看看