Pagini recente » Cod sursa (job #2641217) | Cod sursa (job #1476024) | Cod sursa (job #385118) | Cod sursa (job #690986) | Cod sursa (job #39884)
Cod sursa(job #39884)
// Problema trapez
#include <stdio.h>
#define MAX 10001
long X[MAX], Y[MAX];
int pozitie( int st, int dr )
{
long aux;
long piv = Y[st];
int i, j;
i = st-1;
j = dr+1;
do{
do{ i++; }while( Y[i] < piv );
do{ j--; }while( Y[j] > piv );
if( i < j )
{
aux = Y[i];
Y[i] = Y[j];
Y[j] = aux;
aux = X[i];
X[i] = X[j];
X[j] = aux;
}
}while( i<= j );
return j;
}
int qs( int st, int dr )
{
if ( st == dr ) return 0;
int m;
m = pozitie( st, dr );
qs( st, m );
qs( m+1, dr );
return 0;
}
int main()
{
int i, n;
freopen( "trapez.in" ,"rt", stdin );
scanf( "%d", &n );
for( i=1; i<=n; i++ )
scanf( "%ld %ld", &X[i], &Y[i] );
fclose( stdin );
// qs( 1, n );
long nr = 0;
int j, k, l;
/* for( i=1; i<n-2; i++ )
for( j=i+1; j<n-1; j++ )
for( k=j+1; k<n; k++ )
for( l=k+1; l<=n; l++ )
if( (Y[l] - Y[k])*(X[j]-X[i]) == (Y[j]-Y[i])*(X[l]-X[k]) ) nr++;*/
freopen( "trapez.out", "wt", stdout );
printf( "%ld\n", nr );
fclose( stdout );
return 0;
}