Pagini recente » Utilizatori inregistrati la Info Oltenia 2018 Proba pe Echipe Clasele 7 - 8 | Borderou de evaluare (job #1729243) | Borderou de evaluare (job #1688539) | Borderou de evaluare (job #1552503) | Cod sursa (job #2051403)
#include<fstream>
#include<cmath>
#include<stdio.h>
using namespace std;
struct punct{
double x,y;
};
double dist(punct a,punct b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
bool comparedoub(double a,double b)
{
if(abs(a-b)<0.001) return 1;
else return 0;
}
int main()
{
ifstream fin("triang.in");
ofstream fout("triang.out");
punct p[1500];
int N;fin>>N;
int nr=0;
for(int i=0;i<N;i++)
{
fin>>p[i].x;
fin>>p[i].y;
}
double aux;
int auxnr=0;
for(int i=0;i<N-2;i++)
{
for(int j=i+1;j<N-1;j++)
{
aux=dist(p[i],p[j]);
auxnr=0;
for(int k=j+1;k<N;k++)
{
if( comparedoub(aux,dist(p[i],p[k]))) if(comparedoub(aux,dist(p[j],p[k])) ) {nr++;auxnr++;}
if(auxnr==2)break;
//printf("%d %d %d %d\n",i,j,k,comparedoub(dist(p[i],p[j]),dist(p[i],p[k]))&&comparedoub(dist(p[i],p[j]),dist(p[j],p[k])) );
}
}
}
/* double aux;
//int nr2=0;
for(int i=0;i<N-2;i++)
{
//nr2=0;
aux=dist(p[i],p[i+1]);
for(int j=i+2;j<N;j++)
{
if(comparedoub(aux,dist(p[j],p[i+1]))) if(comparedoub(aux,dist(p[i+1],p[j]))) nr++;
printf("%d %d %d %d\n",i,i+1,j,((comparedoub(aux,dist(p[j],p[i+1])))&&(comparedoub(aux,dist(p[i+1],p[j])))));
}
}
*/
fout<<nr;
}