| ||||||||||
| 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:哪个大侠给看看,第一次做DFSIn Reply To:哪个大侠给看看,第一次做DFS Posted by:Liuzhaoliang at 2008-07-02 18:37:54 > #include <iostream>
> #include <stdlib.h>
>
> using namespace std;
> int xy[700][2]={0};
> int x[700]={0};
> int best=0;
> double currentk=0;
> bool ok(int t)
> {
> double k=0;
> int i;
> for(i=t-1;i>0;i++)
> if(x[i]==1)break;
> if(i==0) return true;
> else
> { if(xy[t][0]=xy[i][0]) k=10000;
> else
> k=((double)(xy[t][1]-xy[i][1]))/((double)(xy[t][0]-xy[i][0]));
> if(currentk=0)currentk=k;
> else if(x[t]==1&&k==currentk)return true;
> else if(x[t]==0) return true;
> return false;
> }
>
> }
>
>
>
> void bt(int t,int n)
> {
> if(t>n)
> { int s=0;
> for(int i=1;i<=n;i++)
> if(x[i]==1)s++;
> if(s>best)best=s;
>
> }
>
> else
> if(t==1){currentk=0;best=0;}
> for(int i=0;i<=1;i++)
> {
> x[t]=i;
> if(ok(t))bt(t+1,n);
> x[t]=0;
> }
> }
>
>
> int main(int argc, char *argv[])
> {
> int m;
> while(cin>>m,m)
> { for(int i=1;i<=m;i++)
> cin>>xy[i][0]>>xy[i][1];
> bt(1,m);
> cout<<best<<endl;
> best=0;currentk=0;
> }
>
>
>
>
>
> system("PAUSE");
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator