Cod sursa(job #2031808)

Utilizator DavidLDavid Lauran DavidL Data 3 octombrie 2017 20:39:46
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <algorithm>
#define MAX 1005
using namespace std;
ifstream fi("trapez.in");
ofstream fo("trapez.out");

struct punct
{
    int x,y;
};

punct P[MAX];
double D[MAX*MAX];
int n,k;
int main()
{
    fi>>n;
    for (int i=1; i<=n; i++)
        fi>>P[i].x>>P[i].y;
    for (int i=1; i<=n; i++)
        for (int j=i+1; j<=n; j++)
        {
            D[++k]=1.00*(P[i].x-P[j].x)/(P[i].y-P[j].y);
        }
    sort(D+1,D+k+1);
    int rez=0,curent=0;
    D[0]=D[k]+1;
    for (int i=1; i<=k; i++)
    {
        if (D[i]==D[i-1])
            curent++;
        else
        {
            rez+=curent*(curent-1)/2;
            curent=1;
        }
    }
    fo<<rez;
    fi.close();
    fo.close();
    return 0;
}