Cod sursa(job #1142526)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 13 martie 2014 22:05:20
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct punct {
    int x;
    int y;
}p[1010];
int n, k, pa, i ,j, nr, nrtrr;
long double pante[1000050];
int main()
{
    f>>n;
    for (i=1; i<=n; i++)
        f>>p[i].x>>p[i].y;
    for (i=1; i<n; i++)
        for (j=i+1; j<=n; j++) {
            if(p[i].x-p[j].x==0)
                pa++;
            else
                pante[++k]=(p[i].y-p[j].y)*1.0/(p[i].x-p[j].x);
        }
    
    sort(pante+1, pante+k+1);
    nr=1;
    for (i=2; i<=k; i++) {
        if(pante[i]==pante[i-1])
            nr++;
        else {
            nrtrr+=nr*(nr-1)/2;
            nr=1;
        }
    }
    nrtrr+=pa*(pa-1)/2;
    g<<nrtrr<<"\n";
    return 0;
}