杭电oj problem1071 the area
来源:互联网 发布:skype 下载 mac版本 编辑:程序博客网 时间:2024/06/08 18:32
Note: The point P1 in the picture is the vertex of the parabola.
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).
25.000000 5.0000000.000000 0.00000010.000000 0.00000010.000000 10.0000001.000000 1.00000014.000000 8.222222
33.3340.69HintFor float may be not accurate enough, please use double instead of float.分析:简单的求面积问题。代码:#include<stdio.h>#include<math.h>int main(){ int n; double x1,y1,x2,y2,x3,y3; double a,b,c,g,h,j; double x,y,z; double s1,s2,sl,st,c1,c2; scanf("%d",&n); while(n--) { sl=0;st=0; g=0;h=0; scanf("%lf %lf",&x1,&y1); scanf("%lf %lf",&x2,&y2); scanf("%lf %lf",&x3,&y3); a=(y2-y1)/((x1-x2)*(x1-x2)); b=-2*a*x1; c=x1*x1*a+y1; g=y2-y3; g=g/(x2-x3); h=y2-g*x2; if(x2<x3) { s1=1*a*x2*x2*x2/3+1*b*x2*x2/2+c*x2; s2=a*x3*x3*x3/3+b*x3*x3/2+c*x3; sl=(s2-s1); c1=g*x2*x2/2+h*x2; c2=g*x3*x3/2+h*x3; st=(c2-c1); printf("%.2lf\n",fabs(st-sl)); sl=0;st=0; } else { s1=1*a*x2*x2*x2/3+1*b*x2*x2/2+c*x2; s2=a*x3*x3*x3/3+b*x3*x3/2+c*x3; sl=s1-s2; c1=g*x2*x2/2+h*x2; c2=g*x3*x3/2+h*x3; st=c1-c2; printf("%.2lf\n",fabs(st-sl)); }
} return 0;}
- 杭电oj problem1071 the area
- 杭电1071 The area
- 杭电1071 The area
- 杭电ACM-The area
- 杭电1071 The area
- 杭电1071——The area!
- 杭电 1071 The area 题解报告
- 数学—杭电1071 The area
- HDU OJ 1071: The area
- 杭电OJ 1355:The Peanuts
- 杭电oj-1115-Lifting the Stone
- 杭电OJ Let the Balloon Rise
- 杭电 OJ 1194 Beat the Spread!
- 杭电 OJ 1302 The Snail
- 杭电 OJ Color the ball 树状数组
- 杭电OJ——Tempter of the Bone
- 杭电OJ题 1562 Guess the number解题报告
- 杭电OJ——Let the Balloon Rise
- java接口回调
- Scrum不是万能药,要在时机成熟时推行
- Oracle dump函数的用法
- 2012年5月SAT香港真题解析
- 【Java】 IO流的再次认识
- 杭电oj problem1071 the area
- thinkphp 路径常量
- HDU 1495 非常可乐
- sws_getContext函数分析 for ffmpeg
- iOS开发系列--通知与消息机制
- 推荐!Html5精品效果源码分享
- redis的一些基本命令
- 2015-7-20
- Android中IDE、ADT、SDK、JDK、NDK的含义解释