Pagini recente » Cod sursa (job #3285061) | Cod sursa (job #1691743) | Cod sursa (job #1587963) | Cod sursa (job #354468) | Cod sursa (job #1281540)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("trapez.in");
ofstream out("trapez.out");
float p[500005];
struct poz{int x,y;}a[1005];
int main()
{int n,i,j,c=1,p1=-1,p2=-1,cont=0,s=0;
in>>n;
for(i=1;i<=n;i++)
in>>a[i].x>>a[i].y;
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
p[c]=0;
if(a[i].y==a[j].y) p1++;
else
if(a[i].x==a[j].x) p2++;
else
p[c]=float(a[j].y-a[i].y)/(a[j].x-a[i].x);
c++;
}
}
sort(p+1,p+n+1);
for(i=1;i<=n;i++)
{
if(p[i]==p[i+1]&&p[i])
s++;
else
if(s)
{
cont+=(s+1);
s=0;
}
}
out<<cont+(p1+1)*p1/2+(p2+1)*p2/2<<'\n';
return 0;
}