| ||||||||||
| 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