Cod sursa(job #759362)

Utilizator andreimaresuMaresu Andrei andreimaresu Data 17 iunie 2012 17:35:24
Problema Trapez Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
#include<stdlib.h>
int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}
int min(int a,int b){
if(a<b) return a;
    return b;
    }
int main(){
FILE *f=fopen("trapez.in","r"),*g=fopen("trapez.out","w");
int N,i,nr,nr1,s=0,s1=0,a;
long int *x,*y;
fscanf(f,"%d",&N);
x=(long int*)malloc(N*sizeof(long int));
y=(long int*)malloc(N*sizeof(long int));
for(i=0;i<N;i++)
fscanf(f,"%ld %ld",&x[i],&y[i]);
qsort(x,N,sizeof(long int),compare);
qsort(y,N,sizeof(long int),compare);
nr=1;nr1=1;
for(i=1;i<N;i++){
   if(x[i]==x[i-1]) nr++;
        else        {s+=nr/2;
                     nr=1;
                    }
   if(y[i]==y[i-1]) nr1++;
        else        {s1+=nr1/2;
                     nr1=1;
                    }
}
a=min(s,s1);
fprintf(g,"%d",a);
fclose(f);
fclose(g);
return 0;
}