Pagini recente » Cod sursa (job #2631568) | Cod sursa (job #1995141) | Cod sursa (job #624709) | Cod sursa (job #1079328) | Cod sursa (job #22930)
Cod sursa(job #22930)
#include<stdio.h>
#include<stdlib.h>
int n, k;
struct nod1 {int x, y;} p[1010];
struct nod2 {int s, j;} seg[1000010];
int comp(const void *i, const void *j)
{
nod2 *ei= (nod2*)i,
*ej= (nod2*)j;
return ei->s* ej->j - ei->j * ej->s;
}
void solve()
{
// for(int i=1; i<=k; ++i) printf("%d %d\n",seg[i].s, seg[i].j);
// printf("\n");
freopen("trapez.out","w",stdout);
int contor=0;
for(int i=1; i<=k-1; ++i)
for(int j=i+1; j<=k; ++j) if( seg[i].s * seg[j].j == seg[i].j * seg[j].s) contor++;
printf("%d\n",contor);
}
int main()
{
freopen("trapez.in","r",stdin);
scanf("%d",&n);
for(int i=1; i<=n; ++i) scanf("%d %d",&p[i].x, &p[i].y);
for(int i=1; i<=n-1; ++i)
for(int j=i+1; j<=n; ++j)
seg[++k].s= p[i].x- p[j].x, seg[k].j= p[i].y- p[j].y;
qsort(seg+1, k, sizeof(nod2), comp);
solve();
return 0;
}