HDU The area

The area

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 28   Accepted Submission(s) : 23

Font: Times New Roman | Verdana |
Georgia

Font Size: ← →

Problem Description

Ignatius bought a land last week, but he didn‘t know the area of the land because the land is enclosed by a parabola and a straight line. The picture below shows the area. Now given all the intersectant points shows in the picture, can you
tell Ignatius the area of the land?

Note: The point P1 in the picture is the vertex of the parabola.

Input

The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.

Each test case contains three intersectant points which shows in the picture, they are given in the order of P1, P2, P3. Each point is described by two floating-point numbers X and Y(0.0<=X,Y<=1000.0).

Output

For each test case, you should output the area of the land, the result should be rounded to 2 decimal places.

Sample Input

2
5.000000 5.000000
0.000000 0.000000
10.000000 0.000000
10.000000 10.000000
1.000000 1.000000
14.000000 8.222222

Sample Output

33.33
40.69
求积分没什么好说的。
AC代码:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main(){
   int n;
   float x1,x2,x3,y1,y2,y3,area;
   scanf("%d",&n);
   while(n--){
    scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3);
    area=(y2-y1)*pow(x3-x1,3)/(3*pow(x2-x1,2))-(y2-y1)*(x2-x1)/3+(y1-y2)*(x3-x2)-(y3-y2)*(x3-x2)/2;
    printf("%.2f\n",area);
   }
    return 0;
}

运行结果:
时间: 2024-10-29 10:48:22

HDU The area的相关文章

HDU 4946 Area of Mushroom(凸包)

如果一个人能统治无穷远处,那么他的速度一定是最大的.除了那几种很坑的数据,比如同一个点速度相同的两个人.永远都是不可能.所以你要处理出来所有速度最大的点,然后用他们构成一个凸包,你把端点的点求出来了,还得判断一下在边上的情况.然后顶点和在边上的点所构成的就是可以到达无穷远处的人. PS:抄了芳姐的模版..哈哈哈 Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/

HDU 4946 Area of Mushroom 凸包 第八次多校

Problem Description Teacher Mai has a kingdom with the infinite area. He has n students guarding the kingdom. The i-th student stands at the position (xi,yi), and his walking speed is vi. If a point can be reached by a student, and the time this stud

HDU 4946 Area of Mushroom 共线凸包

题意是在二维平面上 给定n个人 每个人的坐标和移动速度v 若对于某个点,只有 x 能最先到达(即没有人能比x先到这个点或者同时到这个点) 则这个点称作被x占有 若有人能占有无穷大的面积 则输出1 ,否则输出0 思路: 1.把所有点按速度排个序,然后把不是最大速度的点去掉 剩下的点才有可能是占有无穷大的面积 2.给速度最大的点做个凸包,则只有在凸包上的点才有可能占有无穷大 若一个位置有多个人,则这几个人都是不能占有无穷大的. 凸包上边里共线的点是要保留的,, 附赠一波数据 #include <cs

hdu 2528 Area

2014-07-30 http://acm.hdu.edu.cn/showproblem.php?pid=2528解题思路: 求多边形被一条直线分成两部分的面积分别是多少.因为题目给的直线一定能把多边形分成两部分,所以就不用考虑多边形是否与直线相交.直接求问题. 将多边形的每一条边与直线判断是否相交.若相交,就从这点开始计算面积,直到判断到下一个边与直线相交的点.这之间的面积求出来为area2. area1为多边形的总面积.多边形被直线分成的另外一部分面积 = area1 - area2 有一个

【凸包】HDU 4946 Area of Mushroom

注意: 1.重合的点 2.速度为0的点 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h> #include <ctype.h> #include <math.h> #include <string> #include <iostream> #include <algorithm> using

hdu 2892 Area

http://acm.hdu.edu.cn/showproblem.php?pid=2892 解题思路: 求多边形与圆的相交的面积是多少. 以圆心为顶点,将多边形划分为n个三角形. 接下来就求出每个三角形与圆相交的面积. 因为三角形的一个点是圆心,所以三角形的另外两个点与圆的情况有以下几种: (1)两点都在圆里,三角形与圆相交的面积=三角形的面积. (2)一个点在圆外,一个点在圆里,三角形与圆相交的面积=小三角形的面积+扇形面积 (3)两点都在圆外,又分为几种情况: 1.两点构成的线段与圆相交的

hdu 4946 Area of Mushroom

题意: 在二维平面上,给定n个人 每个人的坐标和移动速度v 若对于某个点,只有 x 能最先到达(即没有人能比x先到这个点或者同时到这个点) 则这个点称作被x占有,若有人能占有无穷大的面积 则输出1 ,否则输出0 思路: 1.把所有点按速度排个序,然后把不是最大速度的点去掉 剩下的点才有可能是占有无穷大的面积 2.给速度最大的点做个凸包,则只有在凸包上的点才有可能占有无穷大 若一个位置有多个人,则这几个人都是不能占有无穷大的. 凸包上边里共线的点是要保留的. #易错点: 1.凸包边上要保留共线的点

HDU 4946 Area of Mushroom 求凸包边上的点

点击打开链接 Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1257    Accepted Submission(s): 307 Problem Description Teacher Mai has a kingdom with the infinite area. He has n studen

HDU 4946 Area of Mushroom(凸包)

HDU 4946 Area of Mushroom(凸包) ACM 题目地址:HDU 4946 Area of Mushroom 题意: 给定n个人,每个人的坐标和移动速度v,若对于某个点,只有 x 能最先到达(即没有人能比x先到这个点或者同时到这个点),则这个点称作被x占有,若有人能占有无穷大的面积 则输出1 ,否则输出0. 分析: 到最后只有速度最大的点才有可能获得无穷大的面积.所以只要考虑速度最大的点. 很明显,只有这些点的凸包边上的点才能获得无穷大的面积. 所以求凸包边上的点就行了. 有

HDU 4946 Area of Mushroom(构造凸包)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4946 题目大意:在一个平面上有n个点p1,p2,p3,p4....pn,每个点可以以v的速度在平面上移动,对于平面上任意一点,假设有唯一一个点pi从初始的位置到这个点的时间最短,那么就说平面上的这个点是属于pi这点管辖的.现在要你判断pi管辖的范围是不是无穷大的,如果是输出1,否则输出0: 首先大致的方法就是构造凸包,不过要遵循一下前提: 一定是只考虑速度最大的点,然后,如果两个点所在的位置与速度都