zoukankan      html  css  js  c++  java
  • hdu1215 The area

    hdu 1215 The area

    算抛物线和直线解析式,简单积分

    #include <iostream>
    #include<cstdio>
    using namespace std;
    double  p2x,p2y,p1x,p1y,p3x,p3y;
    double  a,b,c,a1,b1;
    double  ans;
    void solve1()
    {
        //求直线
        a1 = (p3y-p2y)/(p3x-p2x);
        b1 = (p2y - p2x*a1);
        //求抛物线解析式
        double  t1,t2,q1,q2,p1,p2;
        t1 = p2x*p2x - p1x*p1x;
        t2 = p1x*p1x - p3x*p3x;
        p1 = p2x-p1x;
        p2 = p1x-p3x;
        q1 = p2y-p1y;
        q2 = p1y-p3y;
        a = (q1*p2 - q2*p1)/(t1*p2-t2*p1);
        b = (q1-a*t1)/p1;
        c = p2y - (a*p2x*p2x + b*p2x);
        //求差方程解析式
        b = b - a1;
        c = c - b1;
        //求积分
        a = a/3;
        b = b/2;
        ans = (p2x*p2x*p2x*a) + (p2x*p2x*b) + (p2x*c);
        ans -=(p3x*p3x*p3x*a) + (p3x*p3x*b) + (p3x*c);
        ans = ans > 0?ans:-ans;
    }
    int main()
    {
        int cas;
        cin  >> cas;
        while(cas --){
            cin >> p1x>>p1y>>p2x>>p2y>>p3x>>p3y;
            solve1();
            printf("%0.2f
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    作业
    复习整理3
    复习整理2
    复习整理1
    书籍-os 相关
    书籍正则
    书籍
    SocketServer 简化编写网络服务器的步骤
    socket 粘包
    经典排序算法
  • 原文地址:https://www.cnblogs.com/zhangjialu2015/p/5441143.html
Copyright © 2011-2022 走看看