Pagini recente » Cod sursa (job #2281930) | Cod sursa (job #2026680) | Cod sursa (job #2365259) | Cod sursa (job #412633) | Cod sursa (job #1649763)
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define MAXN 1001
#define MAXO 2000001
int lin[MAXN], col[MAXN], v[MAXN], pl[MAXN*MAXN], pc[MAXN];
float panta[MAXN];
void myqsort(int begin, int end, int *v){
int b=begin, e=end, pivot=v[(begin+end)/2], aux;
while(b<e){
while(v[b]<pivot) b++;
while(v[e]>pivot) e--;
if(b<=e){
aux=pl[b]; pl[b]=pl[e]; pl[e]=aux;
aux=pc[b]; pc[b]=pc[e]; pc[e]=aux;
b++;
e--;
}
}
if(b<end) myqsort(b, end, v);
if(begin<e) myqsort(begin, e, v);
}
int main(){
FILE*fin=fopen("trapez.in", "r");
FILE*fout=fopen("trapez.out", "w");
int n, i, a, b, r, m, k, j;
fscanf(fin, "%d", &n);
for(i=1; i<=n; i++)
fscanf(fin, "%d%d", &lin[i], &col[i]);
k=0;
for(i=1; i<=n; i++)
for(j=i+1; j<=n; j++){
k++;
// printf("%d %d\n", lin[i], col[i]);
a=abs(lin[i]-lin[j]);
b=abs(col[i]-col[j]);
if(b!=0 && a!=0){
while(b>0){
r=a%b;
a=b;
b=r;
}
pl[k]=(lin[i]-lin[j])/a;
pc[k]=(col[i]-col[j])/a;
}
else{
if(a==0){
pl[k]=0;
pc[k]=MAXO;
}
if(b==0){
pl[k]=MAXO;
pc[k]=0;
}
}
}
m=k;
// myqsort(1, m, pl);
for(i=1; i<=m; i++)
printf("%d %d\n", pl[i], pc[i]);
return 0;
}