Cod sursa(job #25212)

Utilizator raresjuniorSfirlogea Rares raresjunior Data 4 martie 2007 11:27:09
Problema Ograzi Scor 20
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasele 11-12 Marime 1.38 kb
#include<stdio.h>
#define MAX 1000000

long n,m,w,h,x1,y1,nroi,i,j;
char x[MAX],y[MAX],oi[100];

int main()
{
FILE *f=fopen("ograzi.in","r");
fgets(oi,28,f);
i=0;
while(oi[i]!=' ')
        {
        n=n*10+oi[i]-'0';
        i++;
        }
i++;
while(oi[i]!=' ')
        {
        m=m*10+oi[i]-'0';
        i++;
        }
i++;
while(oi[i]!=' ')
        {
        w=w*10+oi[i]-'0';
        i++;
        }
i++;
while(oi[i]!='\n')
        {
        h=h*10+oi[i]-'0';
        i++;
        }
for(i=1;i<=n;i++)
        {
        fgets(oi,15,f);
        j=0;
        x1=0;
        y1=0;
        while(oi[j]!=' ')
                {
                x1=x1*10+oi[j]-'0';
                j++;
                }
        j++;
        while(oi[j]!='\n')
                {
                y1=y1*10+oi[j]-'0';
                j++;
                }
        for(j=x1;j<=x1+h-1;x[j]=1,j++);
        for(j=y1;j<=y1+w-1;y[j]=1,j++);
        }

for(i=1;i<=m;i++)
        {
        fgets(oi,15,f);
        j=0;
        x1=0;
        y1=0;
        while(oi[j]!=' ')
                {
                x1=x1*10+oi[j]-'0';
                j++;
                }
        j++;
        while(oi[j]!='\n'&&!feof(f))
                {
                y1=y1*10+oi[j]-'0';
                j++;
                }
        if(x[x1] && y[y1]) nroi++;
        }

fclose(f);
FILE *g=fopen("ograzi.out","w");
fprintf(g,"%ld",nroi);
fclose(g);
return 0;
}