Pagini recente » Cod sursa (job #1309430) | Cod sursa (job #858814) | Istoria paginii utilizator/melniciucilie | Cod sursa (job #1842376) | Cod sursa (job #264975)
Cod sursa(job #264975)
#include <algorithm>
using namespace std;
#define DIM 1000005
#define INF 2147483648
struct punct {int x,y;} v[1001];
double a[DIM];
int n,m;
long long nrt=1;
void read ()
{
int i;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
scanf ("%d%d",&v[i].x,&v[i].y);
}
void panta ()
{
int i,j,x,y;
for (i=1; i<n; ++i)
for (j=i+1; j<=n; ++j)
{
y=v[j].y-v[i].y;
x=v[j].x-v[i].x;
if (x==0)
a[++m]=INF;
else
a[++m]=(double)y/x;
}
}
double abs (double a)
{
if (a<0)
return -a;
return a;
}
int egal (double a,double b)
{
if (abs (a-b)<=0.0000000000000001)
return 1;
return 0;
}
void solve ()
{
int i,nr;
for (i=1; i<m; ++i)
if (egal (a[i],a[i+1]))
{
nr=1;
while (egal (a[i],a[i+1]) && i<m)
{
++i;
++nr;
}
--i;
if (nr%2)
nrt*=((nr-1)/2)*nr;
else
nrt*=(nr/2)*(nr-1);
}
printf ("%d\n",nrt);
}
int main ()
{
freopen ("trapez.in","r",stdin);
freopen ("trapez.out","w",stdout);
read ();
panta ();
sort (a+1,a+m+1);
//solve ();
int i;
for (i=1; i<=m; ++i)
printf ("%.16lf\n",a[i]);
return 0;
}