#include<bits/stdc++.h>

using namespace std;

const int N=100003;
int n,k=1,f;
double x[N],y[N],z[N];

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x[i]>>y[i];
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            if(x[i]==x[j])
            {
                z[++f]=0x3f3f3f3f;
            }
            else
            {
                z[++f]=(y[i]-y[j])/(x[i]-x[j]);
            }

        }
    }

    k=unique(z+1,z+1+f)-z-1;
    cout<<k<<endl;
}

就是要找不重复的斜率个数
参考了一下大佬的做法,然后,自己做了一些改进