Cod sursa(job #197776)
Utilizator | Data | 5 iulie 2008 20:38:57 | |
---|---|---|---|
Problema | Gropi | Scor | 50 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 1.59 kb |
var f,g:text;
n,p,i,time,j,l,c,aux,d,m,h,b:longint;
a:array[1..2 , 1..20000000]of shortint;
begin
assign(f,'gropi.in');reset(f);
assign(g,'gropi.out');rewrite(g);
readln(f,n,p);
for i:=1 to p do
begin
readln(f,c,b);
a[c,b]:=1;
end;
readln(f,m);
for i:=1 to m do
begin
readln(f,c,b,d,h);
time:=0;
if b>h then begin
aux:=b;
b:=h;
h:=aux;
aux:=c;
c:=d;
d:=aux;
end;
repeat
if (b<>h+1)and(a[c,b]<>1)then begin
a[c,b]:=2;
b:=b+1;
if(c<>d)and(h+1=b)then a[d,b-1]:=2;
end
else if (b<>h+1)and(a[c,b]=1)then begin
if c=1 then c:=c+1
else c:=c-1;
b:=b-1;
a[c,b]:=2;
end;
until h+1=b;
for j:=1 to n do
if a[1,j]=2 then begin
time:=time+1;
a[1,j]:=0;
end;
for j:=1 to n do
if a[2,j]=2 then begin
time:=time+1;
a[2,j]:=0;
end;
writeln(g,time);
end;
close(G);
end.