Cod sursa(job #1700667)

Utilizator MoleRatFuia Mihai MoleRat Data 10 mai 2016 22:51:48
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <cmath>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int n;
typedef struct coord {int x,y;} COORD;
COORD a[1010];
double b[500510];
int main()
{
    fin>>n;
    for (int i=1;i<=n;i++)
        fin>>a[i].x>>a[i].y;
    int poz=0;
    for (int i=1;i<=n-1;i++)
        for (int j=i+1;j<=n;j++)
        {
            b[++poz]=(double)(((double)((double)a[i].y-(double)a[j].y))/((double)((double)a[i].x-(double)a[j].x)));
        }
    sort(b+1,b+poz+1);
    int rr=1;
    int sum=0;
    for (int i=1;i<=poz;i++)
        {
           // fout<<b[i]<<' ';
            if (b[i]==b[i-1])
                rr++;
            else
                {
                    sum=sum+rr*(rr-1)/2;
                    rr=1;
                }
        }
        sum=sum+rr*(rr-1)/2;
        fout<<sum<<'\n';

    return 0;
}