PKU 1118

来源:互联网 发布:视频会议软件 编辑:程序博客网 时间:2024/05/16 11:32
这一道题目没有涉及到递归,当然,也可以有递归的思想来做.
#include<iostream>using namespace std;int main(){int n,t,a[100],b[100];int i,j,k,sum=0,max=0;double x;cin>>n;while(n!=0)    {for(i=0;i<n;i++)cin>>a[i]>>b[i];for(i=0;i<n;i++)//以第i个坐标点为参考点,一次求出各种情况,取最//大值{for(j=0;j<n;j++)//在第i个坐标点为参考点的基础上,以第j个点为参考,算出第i个点与第j个点之间的斜率,然后一次求出j之后的各个点,计算之后的点与第i个点之间的斜率,求最大值{x=(double)(b[j]-b[i])*1.0/(a[j]-a[i]);  for(k=j+1;k<n;k++){if((double)(b[k]-b[i])/(a[k]-a[i])==x) sum++;  }}sum+=1;if(max<sum) max=sum;sum=0;    }    cout<<max+1<<endl;    cin>>n;    }return 0;}


0 0
原创粉丝点击