Pagini recente » Cod sursa (job #933001) | Cod sursa (job #53126) | Cod sursa (job #908960) | Cod sursa (job #2548131) | Cod sursa (job #2410193)
#include <cstdio>
#include <map>
using namespace std;
struct panta{
int numa, numi;
};
struct co{
int x, y;
}a[1005];
map<pair<int, int> , int> p;
int n;
int cmmdc(int x, int y){
int r=0;
while(y){
r=x%y;
x=y;
y=r;
}
return x;
}
int comb(int n){
return n*(n-1)/2;
}
int main() {
freopen("trapez.in", "r", stdin);
freopen("trapez.out", "w", stdout);
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%d %d", &a[i].x, &a[i].y);
}
for(int i=1; i<=n; ++i){
for(int j=i+1; j<=n; ++j){
int a1= a[i].y-a[j].y;
int b1= a[i].x - a[j].x;
int cmd=cmmdc(a1,b1);
a1/=cmd;
b1/=cmd;
p[{a1,b1}]++;
}
}
int rez=0;
for(auto it:p){
int x = it.second;
rez+=comb(it.second);
}
printf("%d", rez);
return 0;
}