Cod sursa(job #2481804)

Utilizator Andy_ANDYSlatinaru Andrei Alexandru Andy_ANDY Data 27 octombrie 2019 14:04:25
Problema Trapez Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ( "trapez.in" ); ofstream g ( "trapez.out" );
pair < long double ,long double > v[1005];
vector  <long double> unghi;
int main()
{   int n;
    f>>n;
    for(int i=1;i<=n;i++) f>>v[i].first>>v[i].second;
    for(int i=1;i<=n;i++)
        for(int j=1;j<i;j++)
        {   if(v[i].first == v[j].first) unghi.push_back((1<<30));
            else unghi.push_back( abs(v[i].second-v[j].second) / (long double)(abs(v[i].first-v[j].first)));
        }
    sort(unghi.begin(),unghi.end());
    long long ans=0,cnt=0;
    for(int i=1;i<unghi.size();i++)
    {   if(unghi[i-1]==unghi[i]) cnt ++;
        else
        {   ans+=cnt*(cnt-1)/2;
            cnt=1;
        }
    }
    g<<ans+(cnt*(cnt-1))/2;
    return 0;
}