PASCAL NOIP1996普及组复赛第二题。
程序t 1;
var i,j,k,l,m,n,x,y,I 1:longint;
a:数组;
a:= a;
a:= t;
I:= I+1;
j:= j-1;
结束;
直到我& gtj;
如果我& ltr then qsort(i,r);
如果我& ltj然后qsort(l,j);
结束;
开始
readln(n,I,j);
对于x:=1到n do
写('(',I,',',x,')');{同一行上网格的位置}
writeln
对于y:=1到n do
写('(',y,',',j,')');{同一列上网格的位置}
writeln
{网格在从左上到右下的对角线上的位置}
k:= 1;
x:= I;
y:= j;
a:= y;
while(x+1 & lt;=n)和(y+1 & lt;做
开始
x:= x+1;
y:= y+1;
k:= k+1;
a:= y;
结束;
x:= I;
y:= j;
while(x-1 & gt;=1)和(y-1 & gt;=1) do
开始
x:= x-1;
y:= y-1;
k:= k+1;
a:= y;
结束;
qsort(1,k);
对于i1:=1到k do
写('(',a,')');
writeln
{网格在从左下方到右上方的对角线上的位置}
k:= 1;
x:= I;
y:= j;
a:= y;
while(x+1 & lt;=n)和(y-1 & gt;=1) do
开始
x:= x+1;
y:= y-1;
k:= k+1;
a:= y;
结束;
x:= I;
y:= j;
while(x-1 & gt;=1)和(y+1 & lt;做
开始
x:= x-1;
y:= y+1;
k:= k+1;
a:= y;
结束;
qsort(1,k);
对于i1:=k downto 1 do
写('(',a,')');
writeln
结束。
望采纳