HDU2036 改革春风吹满地
第一次看到这题果断放弃,毕竟几何白痴,第二次刷没做的题的时候突然想到这个三角形面积的向量法:S=|x1*y2-x2*y1| 但是此题可能是凹多边形,所以不能加绝对值,可以画个凹四边形看看。
HDU2036 #include<cstdio> #include<cstdlib> #include<iostream> #include<memory.h> #include<algorithm> #include<cmath> using namespace std; int main() { int i,n; double x1,y1,x2,y2,x3,y3; double ans,temp; while(~scanf("%d",&n)){ if(n==0) return 0; ans=0; cin>>x1>>y1>>x2>>y2; for(i=3;i<=n;i++){ cin>>x3>>y3; temp=((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))*0.5;//思考为什么不要加绝对值 ans+=temp; x2=x3;y2=y3; } printf("%.1lf\n",ans); } return 0; }
It is your time to fight!