Cod sursa(job #2529602)

Utilizator BogdanRuleaBogdan Rulea BogdanRulea Data 23 ianuarie 2020 18:05:45
Problema Trapez Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("trapez.in");
ofstream cout("trapez.out");
int n,nr,x,y;
long long ans;
struct punct
{
    int x,y;
} p[1001];
long double m[100001];
int main()
{
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>x>>y;
        p[i].x=x;
        p[i].y=y;
    }
    for(int i=1; i<n; i++)
        for(int j=i+1; j<=n; j++)
        {
            nr++;
            m[nr]=(1.0*(p[j].y-p[i].y))/(1.0*(p[j].x-p[i].x));
        }
    sort(m+1,m+nr+1);
    int i=1,j;
    while(i<=nr)
    {
        j=i;
        while(m[i]==m[j])
            j++;
            if(j-i>1)
        ans+=((j-i)*(j-i-1))/2;
        i=j-1;
        i++;
    }
    cout<<ans;
    return 0;
}