Cod sursa(job #2481806)

Utilizator Andy_ANDYSlatinaru Andrei Alexandru Andy_ANDY Data 27 octombrie 2019 14:07:03
Problema Trapez Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 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;
    unghi.push_back(0);
    for(int i=0;i<unghi.size();i++)
    {   if(unghi[i]==unghi[i+1]) cnt ++;
        else
        {   ans+=cnt*(cnt-1)/2;
            cnt=1;
        }
    }
    g<<ans;
    return 0;
}