hdoj 1071 The area

The area

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8388    Accepted Submission(s):
5888

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

就是一道数学题,做题的时候看错了一个坐标  结果看了好长时间没发现  坑~~~~

#include<stdio.h>
#include<math.h>
int main()
{
	int N;
	double a,b,c,d,k,x1,y1,x2,y2,x3,y3,s;
	scanf("%d",&N);
	while(N--)
	{
		s=0;
		scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
		a=((y1-y3)*(x1-x2)-(y1-y2)*(x1-x3))/((x1*x1-x3*x3)*(x1-x2)-(x1*x1-x2*x2)*(x1-x3));
		d=((y1-y3)-a*(x1*x1-x3*x3))/(x1-x3);
		c=y1-a*x1*x1-d*x1;
		k=(y2-y3)/(x2-x3);
		b=y3-k*x3;
		s=((a*x3*x3*x3)/3+((d-k)*x3*x3)/2+(c-b)*x3)-((a*x2*x2*x2)/3+((d-k)*x2*x2)/2+(c-b)*x2);
		printf("%.2lf\n",s);
	}
	return 0;
}

  

时间: 2024-08-09 06:20:20

hdoj 1071 The area的相关文章

hdu 1071 The area 高斯消元求二次函数+辛普森积分

构造系数矩阵,高斯消元求解二次函数,然后两点式求直线函数,带入辛普森积分法无脑AC... #include<cstdio> #include<queue> #include<algorithm> #include<cstring> #include<vector> #include<cmath> using namespace std; struct node { double x,y; }p[4]; double g[10][10]

hdu 1071 - The area(解题报告)

The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8715    Accepted Submission(s): 6115 Problem Description Ignatius bought a land last week, but he didn't know the area of the land becau

HDU 1071 The area ——微积分

[题目分析] 求二次函数和一次函数围成的面积. 先解方程求出一次函数和二次函数. 然后积分. 现在还是不会积分. [代码] #include <cstdio> #include <cstring> #include <cstdlib> //#include <cmath> #include <set> #include <map> #include <string> #include <algorithm> #

HDU 1071 - The area

求曲线和直线围成的面积 求表达式,求积分 1 #include <iostream> 2 using namespace std; 3 double x[4],y[4]; 4 int t; 5 double k,m;//fx1: y=kx+m 6 double a,b,c;//fx2: y=a(x-b)^2+c 7 void getfx1() 8 { 9 k=(y[3]-y[2])/(x[3]-x[2]); 10 m=y[2]-k*x[2]; 11 } 12 void getfx2() 13

HDU 1071 The area (数学定积分)

题意:求阴影部分面积. 析:没什么可说的,就是一个普通的定积分. 代码如下: #include <cstdio> #include <iostream> using namespace std; int main(){ int T; cin >> T; double x0, y0, x1, y1, x2, y2, k, b, a, c, h, s; while(T--){ scanf("%lf %lf %lf %lf %lf %lf",&x0

HDU ACM 1071 The area 定积分计算

分析: 1.求抛物线方程F(x)=a*x^2+b*x+c: 2.求直线方程f(x)=k*x+b. 3.利用定积分计算F(x)-f(x)在x2到x3之间的面积. #include<iostream> using namespace std; double fun(double a,double b,double c,double d,double k,double x) { return a*x*x*x/3.0-(2.0*a*b+k)*x*x/2.0+(a*b*b+c-d)*x; } int m

hdu 1071 The area【定积分】

用顶点式\( a(x-h)^2+k=y \)解方程,转化为\(ax^2+bx+c=y \)的形式,然后对二次函数求定积分\( \frac{ax^3}{3}+\frac{bx^2}{2}+cx+C \)即可.(其实我不知道那个C是干什么用的反正这里不用加. #include<iostream> #include<cstdio> using namespace std; int T; double x1,x2,x3,y1,y2,y3,a,b,c,h,k; double f(double

HDOJ 3376 Matrix Again

和HDOJ 2686 一样,只是范围不同 最大费用最大流..... 与最小费用最大流的区别用////////////标出来了 对于detour,在源点和汇点处的边的流量为2 对于每个点只能经过一次,拆点,两个点直接建一条流量为1,费用为mp[i][j]的边 对于每个点可以走到他的左边和下边:连一个费用为0流量大于1的边 Matrix Again Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 102400/102400 K (Jav

HDOJ 3622 Bomb Game

二分距离2sat Bomb Game Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3382    Accepted Submission(s): 1161 Problem Description Robbie is playing an interesting computer game. The game field is an