posts - 100,  comments - 15,  trackbacks - 0
//两点式,取两点,然后其它点带入直线公式验证
 1#include<iostream>
 2using namespace std;
 3int main()
 4{
 5    int x[200];
 6    int y[200];
 7    int n;
 8    cin>>n;
 9    int max=2,count;
10    int i,j,k;
11    for(i=0;i<n;i++)    
12        cin>>x[i]>>y[i];
13    for(i=0;i<n;i++)
14    {
15        
16        for(j=i+1;j<n;j++)
17        {
18            count=2;
19            for(k=0;k<&& k!=&& k!=j; k++)
20                if((y[k]-y[i])*(x[i]-x[j])==(y[i]-y[j])*(x[k]-x[i])) //两点式
21                    count++;
22
23            if(count>max) 
24                max=count;
25        }

26            
27    }

28    cout<<max;
29    return 0;
30}

31
32
posted on 2009-04-03 19:51 wyiu 阅读(83) 评论(0)  编辑 收藏 引用 所属分类: POJ

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理