P1142 轰炸

来源:互联网 发布:软件性质 编辑:程序博客网 时间:2024/04/26 23:56

luogu 传送门

问题描述及做法

#include<iostream>#include<algorithm>#include<cstdio>#include<cmath> #include<queue>#include<vector>#include<cstring>#include<map>using namespace std;int n;int px[709],py[709];double f[701][701];int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++)      scanf("%d%d",&px[i],&py[i]);    for(int i=1;i<=n;i++)     for(int j=1;j<=n;j++){        if(i==j) continue;        f[i][j]=(1.0*py[i]-1.0*py[j])/(1.0*px[i]-1.0*px[j]);    }    int s1=0,s2=0,ans=0;    for(int i=1;i<=n;i++)    {        sort(f[i]+1,f[i]+n+1);           double p;        s1=s2=0;        p=f[i][1];        for(int j=2;j<=n;j++)        {            if(f[i][j]==p) s1++,s2=max(s2,s1);            else p=f[i][j],s1=0;        }        s2=max(s1,s2);        ans=max(s2,ans);    }    printf("%d",ans+2);//加上起点和终点    return 0;}
原创粉丝点击