Pagini recente » Cod sursa (job #2765002) | Cod sursa (job #842925) | Cod sursa (job #3215980) | Cod sursa (job #1986054) | Cod sursa (job #3186386)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("trapez.in");
ofstream out("trapez.out");
#define maxVal 1000000000
vector <double> panta;
struct point{
int x,y;
};
vector <point> v;
int n, paral;
int main(){
in>>n;
v.resize(n);
for (int i=0;i<n;i++){
in>>v[i].x>>v[i].y;
for (int j=0;j<i;j++){
double r;
if(v[i].x!=v[j].x){
double sus=v[i].y-v[j].y;
double jos=v[i].x-v[j].x;
r=sus/jos;
}
else{
r=maxVal;
}
panta.push_back(r);
}
}
sort(panta.begin(),panta.end());
int i=1;
long long cnt=((paral*(paral-1))>>1);
n=panta.size();
while(i<n){
int crt=1;
while(i<n && panta[i]==panta[i-1]){
crt++;
i++;
}
i++;
cnt+=((crt*(crt-1))>>1LL);
}
out<<cnt<<'\n';
}