轰炸
Time Limit: 1000MS | Memory Limit: 65535KB |
Submissions: 54 | Accepted: 10 |
Sample Input
Sample Output
3
数学方法,先找直线方程,然后遍历找符合要求最多的!
#include<iostream>
using namespace std;
int main()
{
int i,j,k,n,max=0,A,B,C;
cin>>n;
int *a=new int[n];
int *b=new int[n];
for(i=1;i<=n;i++)
cin>>a[i]>>b[i];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
A=b[i]-b[j];
B=a[i]-a[j];
C=B*b[i]-A*a[i];
int count=0;
for(k=1;k<=n;k++)
if(A*a[k]==B*b[k]-C)
count++;
if(max<count)
max=count;
}
cout<<max<<endl;
}