| ||||||||||
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 |
Re:请大牛帮帮忙检查一下错在哪儿In Reply To:请大牛帮帮忙检查一下错在哪儿 Posted by:14310120133 at 2016-04-08 19:09:03 > #include <cmath> > #include <cstdio> > #include <cstring> > #include <iostream> > #include <algorithm> > using namespace std; > int n,i,j,k,l,flag; > double M; > struct node > { > int x; > int y; > } a[55]; > double cross(node T,node p,node q) > { > return (p.x-T.x)*(q.y-T.y)-(p.y-T.y)*(q.x-T.x); > } > int temp[5]; > int main() > { > char c; > while(scanf("%d",&n)&&n) > { > getchar(); > for(int i=0; i<n; i++) > { > scanf("%c",&c); > scanf("%d%d",&a[i].x,&a[i].y); > getchar(); > } > M=0.0; > memset(temp,0,sizeof(temp)); > for(i=0; i<n; i++) > { > for(j=i+1; j<n; j++) > { > for(k=j+1; k<n; k++) > { > flag=1; > for(l=0; l<n; l++) > { > if(l!=i&&l!=j&&l!=k > &&cross(a[i],a[l],a[j])<=0 > &&cross(a[j],a[l],a[k])<=0 > &&cross(a[k],a[l],a[i])<=0) > { > flag=0; > break; > } > } > if(flag) > { > double s=0.5*fabs((a[i].x-a[k].x)*(a[j].y-a[k].y)-(a[i].y-a[k].y)*(a[j].x-a[k].x)); > if(s>M) > { > M=s; > temp[1]=i; > temp[2]=j; > temp[3]=k; > } > } > } > } > } > printf("%c%c%c\n",temp[1]+'A',temp[2]+'A',temp[3]+'A'); > } > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator