Pagini recente » Cod sursa (job #2849638) | Cod sursa (job #1727207) | Cod sursa (job #445719) | Cod sursa (job #2751834) | Cod sursa (job #2792192)
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define ll long long
#define forq(i,ii,n)for(i=ii;i<n;i++)
using namespace std;
ifstream in("triang.in");
ofstream out("triang.out");
int n,i,j,e,f,o,s;double dx,dy;
struct t{double x,y;}a[1500],p;
inline constexpr bool ff(t a,t v)
{
if(a.x!=v.x)
return a.x<v.x;
else return a.y<v.y;
}
#define c while(e!=f)\
{\
o=(e+f)/2;\
if(abs(p.x-a[o].x)<0.001&&abs(p.y-a[o].y)<0.001){e=o;break;}\
if(ff(p,a[o]))\
e=o+1;\
else f=o;\
}\
if(abs(p.x-a[e].x)<0.001&&abs(p.y-a[e].y)<0.001)++s
int main()
{
in>>n;
for(i=0;i<n;i++)
in>>a[i].x>>a[i].y;
sort(a,a+n,ff);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
dx=a[j].x-a[i].x;
dy=a[j].y-a[i].y;
p.x=a[i].x+dx*0.5d-dy*0.8660254d;
p.y=a[i].y+dx*0.8660254d+dy*0.5d;
e=0,f=n-1;
c;
//if(abs(p.x-a[e].x)<0.001&&abs(p.y-a[e].y)<0.001)cout<<fixed<<setprecision(4)<<p.x<<' '<<p.y<<'\n';
p.x=a[i].x+dx*0.5d+dy*0.8660254d;
p.y=a[i].y-dx*0.8660254d+dy*0.5d;
c;
//if(abs(p.x-a[e].x)<0.001&&abs(p.y-a[e].y)<0.001)cout<<fixed<<setprecision(4)<<p.x<<' '<<p.y<<'\n';
}
out<<s/3;
}