Pagini recente » Monitorul de evaluare | Cod sursa (job #1175772) | Cod sursa (job #359343) | Diferente pentru problema/abc intre reviziile 19 si 18 | Cod sursa (job #1675489)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct latura
{
int x1 , y1 , x2 , y2 ;
float panta = 0 ;
} a[1000000];
inline bool sortare(latura a, latura b)
{
return a.panta > b.panta ;
}
int main()
{
int n,x[1000],y[1000],i,nrt=0,p1 , p2 , k , j;
x[1000];
y[1000];
f>>n;
for(i=1; i<=n; i++)
f>>x[i]>>y[i];
k = 0 ;
for(i=1; i<n; i++)
for(j=i+1; j<=n; j++)
if(x[j]-x[i]!=0)
{
k++;
a[k].x1 = x[i] ;
a[k].y1 = y[i] ;
a[k].x2 = x[j] ;
a[k].y2 = y[j] ;
a[k].panta = ( y[j]-y[i] ) ;
a[k].panta /= (x[j]-x[i]) ;
}
sort(a+1,a+k+1,sortare);
for(i=1; i<k; i++)
while(a[i]==a[i-1])
{
nrt++;
i++:
}
}
g << nrt ;
}