Pagini recente » Profil robertpoe | Rezultatele filtrării | Borderou de evaluare (job #2667495) | simulare-cartita-30 | Cod sursa (job #1799586)
#include <fstream>
#include <unordered_map>
using namespace std;
struct punct{
int x, y;
};
int main()
{
ifstream in("trapez.in");
unordered_map<double, int> m;
long long nr = 0;
punct v[1000];
int n;
in>>n;
for(int i=0;i<n;i++){
int a, b;
in>>a>>b;
v[i] = punct{a, b};
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
int dx, dy;
dx = v[i].x - v[j].x;
dy = v[i].y - v[j].y;
int num = m[((double)dy) / ((double)dx)];
nr += num;
m[((double)dy) / ((double)dx)] = num+1;
}
}
ofstream out("trapez.out");
out<<nr;
return 0;
}