Pagini recente » Cod sursa (job #351290) | Cod sursa (job #414751) | Cod sursa (job #1855563) | Cod sursa (job #2646147) | Cod sursa (job #1968295)
#include <fstream>
#include <algorithm>
#define x first
#define y second
using namespace std;
ofstream fout ("trapez.out");
ifstream fin ("trapez.in");
int n,i,j,par,raspuns,k,curent;
pair < double , double > v[1005];
double rsp[1000005];
const double epsilon = 0.001;
int main()
{
fin>>n;
for( i = 1 ; i <= n ; i++ )
fin>>v[ i ].x>>v[ i ].y;
for( i = 1 ; i < n ; i++ )
{
for( j = i + 1 ; j <= n ; j++ )
{
if( v[ i ].x == v[ j ].x )
par++;
else
rsp[ ++k ] = ( v[ i ].y - v[ j ].y ) / ( v[ i ].x - v[ j ].x );
}
}
sort( rsp + 1 , rsp + k + 1 );
for( i = 1 ; i < k ; i++ )
{
curent = 0;
while( rsp[ i ] == rsp[ i + 1 ] && i < k )
{
i++;
curent++;
}
raspuns += ( curent * ( curent + 1 ) ) >> 1;
}
fout<<raspuns;
}