Cod sursa(job #197798)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 6 iulie 2008 10:45:09
Problema Gropi Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>
#define Nmax 10010
#define Nmin 3
#define minus -10

long n,m,c,i,j,nr,xi,xf,yi,yf,groapa1,groapa2,aux,ii,jj,l;
long a[Nmin][Nmax];

int main()
{
freopen("gropi.in","rt",stdin);
freopen("gropi.out","wt",stdout);

scanf("%ld %ld",&n,&c);
for (i=1;i<=c;i++)
    {
    scanf("%ld %ld",&groapa1,&groapa2);
    a[groapa1-1][groapa2-1]=minus;
    }
scanf("%ld",&m);
for (l=1;l<=m;l++)
    {
    nr=1;
    scanf("%ld %ld %ld %ld", &xi,&yi,&xf,&yf);
--xi;--xf;--yi;--yf;
    if (yi>yf)
       {
       aux=xi;
       xi=xf;
       xf=aux;
       aux=yi;
       yi=yf;
       yf=aux;
       }
i=xi;
j=yi;
while (j!=yf)
      if (a[i][j+1]!=minus)
	 {
	  nr++;
	  j++;
	  }
	  else if (i==1)
		  {
		   nr++;
		   i=0;
		   }
		   else
		       {
			nr++;
			i=1;
			}

if (i!=xf) printf("%ld\n",nr+1);
else printf("%ld\n",nr);
}
return 0;
}