Pagini recente » Cod sursa (job #120743) | Cod sursa (job #244828) | Monitorul de evaluare | Cod sursa (job #2073253) | Cod sursa (job #723331)
Cod sursa(job #723331)
#include<fstream>
#include<algorithm>
#define NN 1001
using namespace std;
ofstream out("trapez.out");
struct punct
{
int x,y;
};
punct v[NN];
int n,m;
double v1[NN];
void citire();
void solve();
int main()
{
citire();
solve();
return 0;
}
void citire()
{
ifstream in("trapez.in");
in>>n;
for(int i=1;i<=n;i++)
in>>v[i].x>>v[i].y;
}
void solve()
{
double panta;
int i,j,rez1=0;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i].x==0&&v[j].x==0)
{
v1[++m]=0;
rez1++;
}
else
{
panta=(double(v[j].y-v[i].y)/(double(v[j].x-v[i].x)));
v1[++m]=panta;
}
sort(v1+1,v1+m+1);
int rez=0;
for(i=1;i<m;i++)
if(v1[i]==v1[i+1])
++rez;
out<<rez-rez1<<'\n';
}