Pagini recente » Cod sursa (job #715008) | Cod sursa (job #1734141) | Cod sursa (job #953473) | Cod sursa (job #2921761) | Cod sursa (job #953834)
Cod sursa(job #953834)
#include <fstream>
#include <iostream>
#include <vector>
#include <stdio.h>
#include <algorithm>
using namespace std;
ifstream fi("trapez.in");
ofstream fo("trapez.out");
typedef long long ll;
struct point{int x,y;}a[1001];
ll i,n,j;
vector< double > p;
int main()
{
fi >> n;
for (i=1; i<=n; i++)
{
fi >> a[i].x >> a[i].y;
for (j=1; j<i; j++)
{
if (a[j].x==a[i].x)
{
p.push_back(1<<30);
}
else
{
p.push_back((double)(a[j].y-a[i].y)/(a[j].x-a[i].x));
}
}
}
sort(p.begin(),p.end());
for (size_t k=1; k<p.size(); k++)
printf("%.4lf\n",p[k]);
ll x=0,rs=0;
for (size_t k=1; k<p.size(); k++)
{
if (p[k]==p[k-1])
{
x++;
}
else
{
rs+=(x*(x+1)/2);
x=0;
}
}
if (x) rs+=(x*(x+1)/2);
fo << rs;
return 0;
}