Pagini recente » Cod sursa (job #2731744) | Cod sursa (job #703883) | Cod sursa (job #1423319) | Cod sursa (job #1898006) | Cod sursa (job #2479293)
//
// main.cpp
// Trapez
//
// Created by Darius Buhai on 23/10/2019.
// Copyright © 2019 Darius Buhai. All rights reserved.
//
#include <iostream>
#include <fstream>
#include <vector>
#define INF 9999999
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
struct point{
int x, y;
};
float calculate_slope(point a, point b){
if(a.x==b.x) return INF;
return ((float)(a.y-b.y))/((float)(a.x-b.x));
}
int main() {
int n, i ,j;
float m;
point c;
vector<point> a;
vector<double> s;
fin>>n;
for(i=0;i<n;i++){
fin>>c.x>>c.y;
a.push_back(c);
}
for(i=0;i<a.size()-1;i++)
for(j=i+1;j<a.size();j++){
bool found = false;
m = calculate_slope(a[i], a[j]);
s.push_back(m);
}
sort(s.begin(), s.end());
int l = 1, tr = 0;
for(i=1; i<s.size(); i++)
{
if(s[i]==s[i-1])
l++;
else{
tr += l*(l-1)/2;
l = 1;
}
}
tr += l*(l-1)/2;
fout<<tr;
return 0;
}