生生世世是生生世世是水题
2016-05-22 11:28
162 查看
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. |
[align=left]Input[/align] 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). |
[align=left]Output[/align] For each test case, you should output the area of the land, the result should be rounded to 2 decimal places. |
[align=left]Sample Input[/align]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 |
[align=left]Sample Output[/align]33.33 40.69Hint For float may be not accurate enough, please use double instead of float. |
[align=left]Author[/align] Ignatius.L #include <iostream> #include <stdio.h> #include <iomanip> #include <stdio.h> using namespace std; int main() { int t; cin>>t; double x1,y1; double x2,y2; double x3,y3; double a,b,c; double a1,b1; double aa,bb; double aa1,bb1; while(t--) { cin>>x1>>y1; cin>>x2>>y2; cin>>x3>>y3; a=(y1-y2)/((x1*x1-x2*x2)-2*x1*(x1-x2)); b=-1*2*a*x1; c=y2-(a*x2*x2+b*x2); //cout<<a<<" "<<b<< " "<<c<<endl; aa=(1/3.0)*a*x2*x2*x2+0.5*b*x2*x2+c*x2; bb=(1/3.0)*a*x3*x3*x3+0.5*b*x3*x3+c*x3; a1=(y3-y2)/(x3-x2); b1=-1*1.0*x3*(a1)+y3; aa1=(0.5)*a1*x2*x2+b1*x2; bb1=(0.5)*a1*x3*x3+b1*x3; //cout<<bb1-aa1<<endl; //cout<<bb-aa<<endl; cout<<fixed<<setprecision(2)<<bb-aa-bb1+aa1<<endl; } } |
相关文章推荐
- 1022 ProblemV
- 程序员笑话
- Spiral Matrix
- Android之使用JDBC连接数据库-使用Jtds连接SQL Server 2008数据库
- win7登录不上sam服务器,总是报用户名密码无效错误。
- struts2的Action类
- PKU 3368 Frequent values 线段树
- grep与正则表达式01-基础知识
- windows 下安装Redis
- LeetCode OJ 169. Majority Element
- Hibernate使用总结
- javaEE SSH框架记录在线登录用户以及登录用户的在线时长
- 关于在视图控制器上添加另一个控制器的View的问题
- 78. Counting Bits
- BSOJ: 2697 -- 【ZJOI2010】数字计数
- 教你如何剖析源码(转)
- java 页面错误转发提示页面 errorPage转跳报HTTP500内部服务器错误
- poj 3368 Frequent values 线段树
- Icinga2在centos7上安装流程
- POJ-2096 Collecting Bugs【概率dp】