Cod sursa(job #2136308)
| Utilizator | Data | 19 februarie 2018 20:26:28 | |
|---|---|---|---|
| Problema | Trapez | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int n,nr,ct,z;
double m[1000005],x[1001],y[1001];
int main()
{
int i,j;
fin>>n;
for(i=1;i<=n;i++)
fin>>x[i]>>y[i];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(x[i]==x[j])
m[++nr]=1e9;
else
m[++nr]=(y[j]-y[i])/(x[j]-x[i]);
sort(m+1,m+nr+1);
for(i=1;i<nr;i++)
{ z=1;
while(m[i]==m[i+1])
z++,i++;
ct=ct+z*(z-1)/2;
}
fout<<ct;
return 0;
}
