Pagini recente » Cod sursa (job #115987) | Cod sursa (job #1076907) | Cod sursa (job #1670136) | Cod sursa (job #541591) | Cod sursa (job #69148)
Cod sursa(job #69148)
#include<fstream.h>
#include<math.h>
double a[1500],b[1500];
int N;
void citire(){
ifstream fin("triang.in");
fin>>N;
for (int i=0;i<N;i++)
fin>>a[i]>>b[i];
fin.close();
}
double latura(double x1,double y1,double x,double y){
double w=0;
w+=(x1-x);
w*=(x1-x);
w+=(y1-y)*(y1-y);
double f=sqrt(w);
return f;
}
int numarare (){
double L,L1,L2;
int nr=0;
for (int i=0;i<N-2;i++){
for (int j=i+1;j<N-1;j++){
L=latura(a[i],b[i],a[j],b[j]);
for (int y=j+1;y<N;y++){
L1=latura(a[i],b[i],a[y],b[y]);
if (L1+0.1>L)
if (L1-0.1<L){
L2=latura(a[y],b[y],a[j],b[j]);
if (L2+0.1>L1)
if (L2-0.1<L1)
nr++;}} } }
return nr;
}
int main(){
citire();
ofstream fout("triang.out");
fout<<numarare();
fout<<"\n";
fout.close();
return 0;
}
/*void cautare (int st,int dr){
if (x<a[(st+dr)/2])
cautare (st,dr+st/2);
if (x>a[(st+dr)/2])
cautare (dr+st/2,dr);
}*/