Pagini recente » Cod sursa (job #885806) | Cod sursa (job #944253) | Cod sursa (job #1302733) | Cod sursa (job #128752) | Cod sursa (job #1520929)
/*#include <fstream>
#include <math.h>
#include <algorithm>
#include <iostream>
using namespace std;
double laturi[1125751];
class punct
{
public:
double x,y;
} v[1502];
int main()
{
int i,j,l, mid, b, e, n, nr=0;
double s;
long approx;
ifstream in ("triang.in");
ofstream out ("triang.out");
in>>n;
l=n*(n-1)/2;
for(i=0;i<n;i++)
in>>v[i].x>>v[i].y;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
approx=1000*sqrt((v[i].x-v[j].x) * (v[i].x-v[j].x) + (v[i].y-v[j].y) * (v[i].y-v[j].y));
cout<<approx<<" "<<i<<" "<<j<<endl;
laturi[nr]=(double)approx/1000;
nr++;
}
for(i=0;i<l;i++)
cout<<laturi[i]<<" ";
cout<<endl;*/
//sort(laturi, laturi+l);
/*for(i=0;i<l;i++)
cout<<laturi[i]<<" ";*/
/*nr=0;
for(i=1;i<n-1;i++)
for(j=i+1;j<n;j++)
if(max(laturi[i],laturi[j]) - min (laturi[i],laturi[j]) <=0.001)
{
s=(laturi[i]+laturi[j])/2;
b=i; e=l-1;
while(b<e)
{
mid=(b+e)/2;
if(laturi[mid]<=s)
b=mid+1;
else
e=mid;
if(max(laturi[b],s) - min (laturi[b],s) <=0.001)
nr++;
}
}
out<<nr;
in.close();
out.close();
return 0;
}*/
#include <fstream>
#include <math.h>
using namespace std;
class punct
{
public:
double x,y;
} v[1502];
int main()
{
int i, j, k, nr=0, n;
double l1, l2, l3;
ifstream in ("triang.in");
ofstream out ("triang.out");
in>>n;
for(i=0;i<n;i++)
in>>v[i].x>>v[i].y;
for(i=0;i<n-2;i++)
for(j=i+1;j<n-1;j++)
for(k=j+1;j<n;j++)
{
l1=sqrt((v[i].x-v[j].x) * (v[i].x-v[j].x) + (v[i].y-v[j].y) * (v[i].y-v[j].y));
l2=sqrt((v[i].x-v[k].x) * (v[i].x-v[k].x) + (v[i].y-v[k].y) * (v[i].y-v[k].y));
l3=sqrt((v[j].x-v[k].x) * (v[j].x-v[k].x) + (v[j].y-v[k].y) * (v[j].y-v[k].y));
if((max(l1, l2)-min(l1, l2)<=0.001) && (max(l2, l3)-min(l2, l3)<=0.001) && (max(l1, l3)-min(l1, l3)<=0.001))
nr++;
}
out<<nr;
in.close();
out.close();
return 0;
}