Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

brute force does not work for this problem

Posted by achilles at 2006-01-03 12:46:41 on Problem 2653
In Reply To:老是tle 怀疑是读入数据时的问题,我把intersect全部return 1 了还是tle ,帮忙看看 Posted by:ning at 2006-01-03 10:43:54
>     if(  (dx*(l2->y1-l1->y1)-dy*(l2->x1-l1->x1) )*
>     (dx*(l2->y2-l1->y1)-dy*(l2->x2-l1->x1) )>0  )
>         return 0;
>     dx=l2->x1-l2->x2,dy=l2->y1-l2->y2;
> 
>     if(  (dx*(l1->y1-l2->y1)-dy*(l1->x1-l2->x1) )*
>     (dx*(l1->y2-l2->y1)-dy*(l1->x2-l2->x1) )>0  )
>         return 0;
>     return 1;
> }
> LINE top[N];
> int main()
> {
>     float x11,y11,x21,y21;
>     long sticks,ii,jj;
>     for(;scanf("%ld",&sticks);)
>     {
>         if(!sticks)
>             return;
>         for(jj=0;jj<sticks;jj++)
>         {
>             top[jj].flag=jj+1;
>             scanf("%f%f%f%f",&x11,&y11,&x21,&y21);
>             (top[jj].x1)=(x11>x21)?x21:x11,
>             (top[jj].y1)=(y11>y21)?y21:y11,
>             (top[jj].x2)=(x11<x21)?x21:x11,
>             (top[jj].y2)=(y11<y21)?y21:y11;
> 
>             for(ii=0;ii<jj;ii++)
>                 if(top[ii].flag&&intersect(&top[ii],&top[jj]))
>                 {
>                     top[ii].flag=0;
>                 }
>         }
>         printf("Top sticks: ");
>         for(jj=0;!(top[jj].flag);jj++)
>             ;
>         printf("%ld",top[jj].flag);
>         for(jj++;jj<sticks;jj++)
>             if(top[jj].flag)
>                 printf(", %ld",top[jj].flag);
>         printf(".\n");
>     }
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator