Pagini recente » Cod sursa (job #580189) | Cod sursa (job #327737) | Cod sursa (job #2367870) | Cod sursa (job #1909140) | Cod sursa (job #1648027)
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define MAXN 1001
#define MAXO 2000001
int lin[MAXN], col[MAXN], v[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=lin[b]; lin[b]=lin[e]; lin[e]=aux;
aux=col[b]; col[b]=col[e]; col[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;
fscanf(fin, "%d", &n);
for(i=1; i<=n; i++){
fscanf(fin, "%d %d", &lin[i], &col[i]);
if(b!=0 && a!=0){
a=abs(lin[i]);
b=abs(col[i]);
while(b>0){
r=a%b;
a=b;
b=r;
}
lin[i]/=a;
col[i]/=a;
}
else{
if(a==0 && b==0){
lin[0]=0; col[0]=MAXO;
lin[i]=MAXO; col[i]=0;
}
else{
if(a==0){
lin[i]=0;
col[i]=MAXO;
}
if(b==0){
lin[i]=MAXO;
col[i]=0;
}
}
}
}
myqsort(0, n, lin);
return 0;
}