Pagini recente » Cod sursa (job #1496870) | Cod sursa (job #2473010) | Cod sursa (job #1477008) | Cod sursa (job #670521) | Cod sursa (job #2320633)
#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int n,i,j,ans,cnt,a[1010],b[1010];
vector<long double> v;
long double dist(int i,int j)
{
return sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>a[i]>>b[i];
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(b[j]<b[i])
{
long double x=(long double)(a[i]-a[j])/dist(i,j);
v.push_back(x);
}
else
{
long double x=(long double)(a[j]-a[i])/dist(i,j);
v.push_back(x);
}
sort(v.begin(),v.end());
cnt=1;
for(i=1;i<v.size();i++)
if(v[i]-v[i-1]<1e-13)
ans+=cnt,cnt++;
else
cnt=1;
g<<ans;
// g<<'\n';
// for(auto it:v)
// g<<it<<' ';
return 0;
}