Pagini recente » Cod sursa (job #3214647) | Cod sursa (job #2459138) | Cod sursa (job #1632513) | Cod sursa (job #1553761) | Cod sursa (job #197606)
Cod sursa(job #197606)
#include <stdio.h>
long int i,x1,y1,x2,y2,m,n,c,tr,s,l;
int mat[200000][2];
FILE *f,*g;
int main()
{
f=fopen("gropi.in","r");
fscanf(f,"%ld %ld\n",&c,&n);
l=-1;
for(i=0;i<n;i++)
{
fscanf(f,"%ld %ld\n",&x1,&y1);
mat[x1-1][y1-1] = 1;
}
fscanf(f,"%ld\n",&m);
g = fopen("gropi.out","w");
for(i=0;i<m;i++)
{
fscanf(f,"%ld %ld %ld %ld\n",&y1,&x1,&y2,&x2);
x1--;y1--;x2--;y2--;
tr=1;
if(x1>x2)
{
s=-1;
}
else
{
s=1;
}
while(x1 != x2 || y1 != y2)
{
if(x1 != x2)
{
tr++;
if(mat[x1+s][y1]==0)
{
x1+=s;
}
else
{
if(y1 == 1)
{
y1 = 0;
}
else
{
y1 = 1;
}
}
}
else
{
if(y1 != y2)
{
y1=y2;
tr++;
}
}
}
fprintf(g,"%ld\n",tr);
}
fclose(g);
fclose(f);
return 0;
}