Cod sursa(job #1220401)
Utilizator | Data | 17 august 2014 11:54:40 | |
---|---|---|---|
Problema | Trapez | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
#include <unordered_map>
using namespace std;
struct P{int x,y;};
P a[1001];
int n,Sum=0;
unordered_map<double,int> H;
unordered_map<double,int>::iterator it;
int main(){
ifstream f("trapez.in");
ofstream g("trapez.out");
int Sum=0;
f >> n;
for(int i=1;i<=n;i++)
f >> a[i].x >> a[i].y;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
H[(double)(a[i].y-a[j].y)/(a[i].x-a[j].x)]++;
for(it=H.begin();it!=H.end();it++)
Sum+=(it->second)*(it->second-1)/2;
g << Sum <<"\n";
}