Pagini recente » Cod sursa (job #317600) | Cod sursa (job #3153190) | Cod sursa (job #53539) | Cod sursa (job #1537285) | Cod sursa (job #1802822)
#include <fstream>
#include <unordered_map>
struct punct{
int x, y;
};
int main()
{
std::ifstream fin("trapez.in");
std::unordered_map<double, int> t;
long long result = 0;
punct pts[1000];
int n;
fin>>n;
for(int i=0;i<n;i++){
int a, b;
fin>>a>>b;
pts[i] = punct{a, b};
}
fin.close();
for (int i = 0; i < n; ++i)
{
for (int j = i+1; j < n; ++j)
{
int dx,dy;
dx = pts[i].x - pts[j].x;
dy = pts[i].y - pts[j].y;
int num = t[((double)dy) / ((double)dx)];
result += num;
t[((double)dy) / ((double)dx)] = num+1;
}
}
std::ofstream fout("trapez.out");
fout << result;
fout.close();
return 0;
}