Pagini recente » Cod sursa (job #2686735) | Cod sursa (job #2743603) | Cod sursa (job #2154932) | kkk | Cod sursa (job #2147566)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int N,X[1003],Y[1003],Dr,Dim,Sol;
double Pante[1000003];
int main()
{
fin>>N;
for(int i=1;i<=N;i++)
fin>>X[i]>>Y[i];
for(int i=1;i<=N;i++)
for(int j=i+1;j<=N;j++)
{
if(Y[i]==Y[j])
Dr++;
else
{
Dim++;
Pante[Dim]=(double)((double)(X[i]-X[j])/(double)(Y[i]-Y[j]));
}
}
sort(Pante+1,Pante+1+Dim);
for(int i=1;i<=Dim;i++)
{
int Cont=0;
while(Pante[i]==Pante[i+1])
Cont++;
Sol=Sol+(Cont*(Cont+1)/2);
}
Sol=Sol+(Dr-1)*Dr/2;
fout<<Sol<<'\n';
return 0;
}