HDU 1215 the area
Calculation of parabolic and linear analytic type, simple integral
#include <iostream>#include<cstdio>using namespacestd;Doublep2x,p2y,p1x,p1y,p3x,p3y;Doublea,b,c,a1,b1;Doubleans;voidsolve1 () {//ask for a lineA1 = (P3Y-P2Y)/(p3x-p2x); B1= (p2y-p2x*A1); //Solving the parabolic analytic formula DoubleT1,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); //Analytic formula for solving differential equationB = B-A1; C= C-B1; //Seeking integralA = A/3; b= b2; 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;}intMain () {intCAs; CIN>>CAs; while(CAS--) {cin>> p1x>>p1y>>p2x>>p2y>>p3x>>p3y; Solve1 (); printf ("%0.2f\n", ans); } return 0;}
hdu1215 the area