Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
分十六种情况,看我怎样不怕累!!!,唉,菜鸟只能这样#include <stdio.h> #include <math.h> typedef struct point { double x; double y; }point; point p[10]; double map1(point p1,point p2,point p3,point p4) { double s=0; s+=p1.x*p2.y-p2.x*p1.y; s+=p2.x*p3.y-p3.x*p2.y; s+=p3.x*p4.y-p4.x*p3.y; s+=p4.x*p1.y-p1.x*p4.y; s=s/2.0; return fabs(s); } double map2(point p1,point p2,point p3) { double s=0; s+=p1.x*p2.y-p2.x*p1.y; s+=p2.x*p3.y-p3.x*p2.y; s+=p3.x*p1.y-p1.x*p3.y; s=s/2.0; return fabs(s); } int main() { int i,test=0; while(scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&p[1].x,&p[1].y,&p[3].x,&p[3].y,&p[5].x,&p[5].y,&p[7].x,&p[7].y)!=EOF) { if(p[1].x==0&&p[1].y==0&&p[3].x==0&&p[3].y==0&&p[5].x==0&&p[5].y==0&&p[7].x==0&&p[7].y==0) break; p[2].x=(p[1].x+p[3].x)/2.0;p[2].y=(p[1].y+p[3].y)/2.0; p[4].x=(p[3].x+p[5].x)/2.0;p[4].y=(p[3].y+p[5].y)/2.0; p[6].x=(p[5].x+p[7].x)/2.0;p[6].y=(p[5].y+p[7].y)/2.0; p[8].x=(p[7].x+p[1].x)/2.0;p[8].y=(p[7].y+p[1].y)/2.0; double max=100000000; double s=map1(p[1],p[3],p[5],p[7])/2.0,s1,s2; if(max>fabs(s-map2(p[1],p[3],p[4]))) { max=fabs(s-map2(p[1],p[3],p[4])); s1=2*s-map2(p[1],p[3],p[4]); s2=map2(p[1],p[3],p[4]); } if(max>fabs(s-map2(p[1],p[3],p[5]))) { max=fabs(s-map2(p[1],p[3],p[5])); s1=2*s-map2(p[1],p[3],p[5]); s2=map2(p[1],p[3],p[5]); } if(max>fabs(s-map2(p[1],p[7],p[6]))) { max=fabs(s-map2(p[1],p[7],p[6])); s1=2*s-map2(p[1],p[7],p[6]); s2=map2(p[1],p[7],p[6]); } if(max>fabs(s-map2(p[2],p[3],p[4]))) { max=fabs(s-map2(p[2],p[3],p[4])); s1=2*s-map2(p[2],p[3],p[4]); s2=map2(p[2],p[3],p[4]); } if(max>fabs(s-map2(p[2],p[3],p[5]))) { max=fabs(s-map2(p[2],p[3],p[5])); s1=2*s-map2(p[2],p[3],p[5]); s2=map2(p[2],p[3],p[5]); } if(max>fabs(s-map1(p[2],p[3],p[5],p[6]))) { max=fabs(s-map1(p[2],p[3],p[5],p[6])); s1=2*s-map1(p[2],p[3],p[5],p[6]); s2=map1(p[2],p[3],p[5],p[6]); } if(max>fabs(s-map2(p[1],p[2],p[7]))) { max=fabs(s-map2(p[1],p[2],p[7])); s1=2*s-map2(p[1],p[2],p[7]); s2=map2(p[1],p[2],p[7]); } if(max>fabs(s-map2(p[1],p[2],p[8]))) { max=fabs(s-map2(p[1],p[2],p[8])); s1=2*s-map2(p[1],p[2],p[8]); s2=map2(p[1],p[2],p[8]); } if(max>fabs(s-map2(p[3],p[5],p[6]))) { max=fabs(s-map2(p[3],p[5],p[6])); s1=2*s-map2(p[3],p[5],p[6]); s2=map2(p[3],p[5],p[6]); } if(max>fabs(s-map2(p[3],p[5],p[7]))) { max=fabs(s-map2(p[3],p[5],p[7])); s1=2*s-map2(p[3],p[5],p[7]); s2=map2(p[3],p[5],p[7]); } if(max>fabs(s-map2(p[1],p[3],p[8]))) { max=fabs(s-map2(p[1],p[3],p[8])); s1=2*s-map2(p[1],p[3],p[8]); s2=map2(p[1],p[3],p[8]); } if(max>fabs(s-map2(p[4],p[5],p[6]))) { max=fabs(s-map2(p[4],p[5],p[6])); s1=2*s-map2(p[4],p[5],p[6]); s2=map2(p[4],p[5],p[6]); } if(max>fabs(s-map2(p[4],p[5],p[7]))) { max=fabs(s-map2(p[4],p[5],p[7])); s1=2*s-map2(p[4],p[5],p[7]); s2=map2(p[4],p[5],p[7]); } if(max>fabs(s-map1(p[4],p[5],p[7],p[8]))) { max=fabs(s-map1(p[4],p[5],p[7],p[8])); s1=2*s-map1(p[4],p[5],p[7],p[8]); s2=map1(p[4],p[5],p[7],p[8]); } if(max>fabs(s-map2(p[5],p[7],p[8]))) { max=fabs(s-map2(p[5],p[7],p[8])); s1=2*s-map2(p[5],p[7],p[8]); s2=map2(p[5],p[7],p[8]); } if(max>fabs(s-map2(p[6],p[7],p[8]))) { max=fabs(s-map2(p[6],p[7],p[8])); s1=2*s-map2(p[6],p[7],p[8]); s2=map2(p[6],p[7],p[8]); } if(s1<s2) printf("Cake %d: %.3lf %.3lf\n",++test,s1,s2); else printf("Cake %d: %.3lf %.3lf\n",++test,s2,s1); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator