TABLIC - Tablica
Tác giả: RR
Ngôn ngữ: Pascal
{$R+,Q+}
uses math;
const
FINP='';
FOUT='';
MAXN=1001;
var
f1,f2:text;
sum,n,k:longint;
u1,v1,u2,v2:array[1..MAXN] of longint;
procedure openF;
begin
assign(f1,FINP); reset(f1);
assign(f2,FOUT); rewrite(f2);
end;
procedure closeF;
begin
close(f1);
close(f2);
end;
procedure inp;
var
i,x:longint;
begin
read(f1,n,k);
for i:=1 to k do
begin
read(f1,x,u2[i],v2[i]);
u2[i]-=1; v2[i]-=1; x-=1;
u1[i]:=x div n; v1[i]:=x mod n;
end;
end;
procedure solve;
var
i,j,u,v:longint;
begin
for i:=1 to k do
begin
if u1[i]<u2[i] then u:=u2[i]-u1[i]
else if u1[i]>u2[i] then u:=n-u1[i]+u2[i]
else u:=0;
if v1[i]<v2[i] then v:=v2[i]-v1[i]
else if v1[i]>v2[i] then v:=n-v1[i]+v2[i]
else v:=0;
writeln(f2,u+v);
for j:=i to k do
if u1[i]=u1[j] then
begin
v1[j]+=v;
if v1[j]>=n then v1[j]-=n;
end;
for j:=i to k do
if v1[i]=v1[j] then
begin
u1[j]+=u;
if u1[j]>=n then u1[j]-=n;
end;
end;
end;
begin
openF;
inp;
solve;
closeF;
end.