Pagini recente » Cod sursa (job #3242107) | Cod sursa (job #266389) | Cod sursa (job #3226342) | Cod sursa (job #2155857) | Cod sursa (job #197599)
Cod sursa(job #197599)
#include<fstream.h>
#define dim 2000000001
long a[2][dim];
long c,n,m;
ifstream f("gropi.in");
ofstream g("gropi.out");
void fugi(long x,long y,long xx,long yy,long s)
{if(y==yy)
{if(x==xx)g<<s<<'\n';
else g<<s+1<<'\n';
}
else
{if(a[x][y]>=yy)
{s+=yy-y+1;fugi(x,yy,xx,yy,s);}
else
{s+=a[x][y]-y+1;
fugi((x+1)%2,a[x][y],xx,yy,s);
}
}
}
int main()
{long i,j,x,y,xx,yy;
f>>c>>n;
for(i=1;i<=c;i++)
a[0][i]=a[1][i]=c;
for(i=1;i<=n;i++)
{f>>x>>y;
x--;
a[x][y]=0;
j=--y;
while(a[x][j])
{a[x][j]=y;
j--;
}
}
f>>m;
for(i=1;i<=m;i++)
{f>>x>>y>>xx>>yy;
x--;xx--;
if(yy<y){j=y;y=yy;yy=j;
j=x;x=xx;xx=j;
}
if(a[x][y]>=yy) g<<yy-y+1<<'\n';
else fugi(x,y,xx,yy,0);
}
f.close();
g.close();
return 0;
}