Pagini recente » Rezultatele filtrării | Borderou de evaluare (job #14256) | Rezultatele filtrării | Rezultatele filtrării | Cod sursa (job #26480)
Cod sursa(job #26480)
#include <stdio.h>
long n,m,w,h;
long nroi;
struct {long x,y;
}ogr[5102],aux;
void procesare(long x,long y){
long i;
for(i=0;i<n;i++){
if(x>=ogr[i].x&&x<=ogr[i].x+w&&y>=ogr[i].y&&y<=ogr[i].y+h) {nroi++;break;}
}
}
void qsort(int l,int r)
{int i,j,mij;
i=l;j=r;
mij=ogr[(i+j)/2].x;
do{ while(ogr[i].x<mij) i++;
while(ogr[j].y>mij) j--;
if(i<=j) {if(i<j) {aux=ogr[i];
ogr[i]=ogr[j];
ogr[j]=aux; }
i++; j--;}
}while(i<=j);
if(l>j) qsort(l,j);
if(i<r) qsort(i,r);
}
void citire(){
FILE *in;
long i,j,x,y;
in=fopen("ograzi.in","r");
fscanf(in,"%ld %ld %ld %ld",&n,&m,&w,&h);
for(i=0;i<n;i++){
fscanf(in,"%ld %ld",&ogr[i].x,&ogr[i].y);
}
// qsort(0,n);
for(i=0;i<m;i++){
fscanf(in,"%ld %ld",&x,&y);
// cautare(x,y);
procesare(x,y);
}
}
void scriere(){
FILE *out;
out=fopen("ograzi.out","w");
fprintf(out,"%ld",nroi);
}
int main(){
citire();
scriere();
return 0;
}