Cod sursa(job #2614515)

Utilizator As932Stanciu Andreea As932 Data 11 mai 2020 20:36:59
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

ifstream cin("trapez.in");
ofstream cout("trapez.out");

int n;
struct tr
{
    long long x,y;
}v[1005];

vector <long double> nr;

void read()
{
    cin>>n;

    for(int i=1;i<=n;i++)
        cin>>v[i].x>>v[i].y;
}

void solve()
{
    long double p;

    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
        {
            p=2*1e9+1;
            if(v[i].x!=v[j].x)
                p=(v[j].y-v[i].y)*1.0/(v[j].x-v[i].x);
            nr.push_back(p);
        }

    sort(nr.begin(),nr.end());

    int ans=0,len=1;

    for(int i=1;i<nr.size();i++)
        if(nr[i]==nr[i-1])
            len++;
        else
        {
            ans+=len*(len-1)/2;
            len=1;
        }

    cout<<ans;
}

int main()
{
    read();
    solve();

    return 0;
}