#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<queue>
#define N 3009
using namespace std;
inline int abs(int s)
{
if(s>0)return s;
return -s;
}
int n;
int x[N];
int y[N];
double s[N*N];
int k;
int z;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&x[i],&y[i]);
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
s[++k]=(double)abs(x[i]-x[j])/abs(y[i]-y[j]);
}
sort(s+1,s+1+k);
int l=s[1];
for(int i=1;i<=k;i++)
{
if(s[i]==l)z++;
else
{
l=s[i];
z--;
}
}
long long ans=n*(n-1)-z;
printf("%d",ans);
}
a
最新推荐文章于 2024-07-29 11:11:37 发布
本文介绍了一个使用C++实现的程序,该程序用于计算平面上两点之间的斜率,并通过绝对值进行距离比较。通过输入一系列点坐标,程序能找出具有相同斜率的点对数量,最终输出不具有相同斜率的点对总数。
1万+

被折叠的 条评论
为什么被折叠?



