Pagini recente » Cod sursa (job #153204) | Cod sursa (job #2891447) | Cod sursa (job #633401) | Cod sursa (job #2807265) | Cod sursa (job #2296099)
#include<fstream>
#include<algorithm>
#define NMAX 1005
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int i, n, m, j, ans, k;
double abscissa[NMAX], ordinate[NMAX], slope[NMAX*NMAX];
void read()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>abscissa[i]>>ordinate[i];
}
}
void createslope()
{
m=0;
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
m++;
slope[m]=(double)(ordinate[j]-ordinate[i])/(abscissa[j]-abscissa[i]);
}
}
}
void calculatenumber()
{
ans=0;
for(i=1;i<m;i++)
{
int k=1;
while(i<m&&slope[i]==slope[i+1])
{
k++;
i++;
}
ans+=k*(k-1)/2;
}
fout<<ans;
}
int main()
{
read();
createslope();
sort(slope+1,slope+1+m);
calculatenumber();
fin.close();
fout.close();
return 0;
}