pascal问题(与二维数组有关)1、蛇形排数(snake.pas/c/cpp)【问题描述】同学A遇到一个难题,要求是输入一个整数N,输出一个N行N列的方阵,方阵为蛇形数字组合.他想请你帮忙解决一下这个难题.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 12:52:41
![pascal问题(与二维数组有关)1、蛇形排数(snake.pas/c/cpp)【问题描述】同学A遇到一个难题,要求是输入一个整数N,输出一个N行N列的方阵,方阵为蛇形数字组合.他想请你帮忙解决一下这个难题.](/uploads/image/z/9321994-10-4.jpg?t=pascal%E9%97%AE%E9%A2%98%EF%BC%88%E4%B8%8E%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E6%9C%89%E5%85%B3%EF%BC%891%E3%80%81%E8%9B%87%E5%BD%A2%E6%8E%92%E6%95%B0%EF%BC%88snake.pas%2Fc%2Fcpp%EF%BC%89%E3%80%90%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%E3%80%91%E5%90%8C%E5%AD%A6A%E9%81%87%E5%88%B0%E4%B8%80%E4%B8%AA%E9%9A%BE%E9%A2%98%2C%E8%A6%81%E6%B1%82%E6%98%AF%E8%BE%93%E5%85%A5%E4%B8%80%E4%B8%AA%E6%95%B4%E6%95%B0N%2C%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AAN%E8%A1%8CN%E5%88%97%E7%9A%84%E6%96%B9%E9%98%B5%2C%E6%96%B9%E9%98%B5%E4%B8%BA%E8%9B%87%E5%BD%A2%E6%95%B0%E5%AD%97%E7%BB%84%E5%90%88.%E4%BB%96%E6%83%B3%E8%AF%B7%E4%BD%A0%E5%B8%AE%E5%BF%99%E8%A7%A3%E5%86%B3%E4%B8%80%E4%B8%8B%E8%BF%99%E4%B8%AA%E9%9A%BE%E9%A2%98.)
pascal问题(与二维数组有关)1、蛇形排数(snake.pas/c/cpp)【问题描述】同学A遇到一个难题,要求是输入一个整数N,输出一个N行N列的方阵,方阵为蛇形数字组合.他想请你帮忙解决一下这个难题.
pascal问题(与二维数组有关)
1、蛇形排数
(snake.pas/c/cpp)
【问题描述】
同学A遇到一个难题,要求是输入一个整数N,输出一个N行N列的方阵,方阵为蛇形数字组合.他想请你帮忙解决一下这个难题.
【输入文件】snake.in
一个整数,N.(2≤N≤20)
【输出文件】snake.out
N行N列,为输出的蛇形数字组合.各数字域宽为4.
【样例输入】
4
【样例输出】
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
2、设计程序,输出所有的数独形式(9*9)
注:数字相同,但方向不同,认为是不同形式
答出悬赏50
pascal问题(与二维数组有关)1、蛇形排数(snake.pas/c/cpp)【问题描述】同学A遇到一个难题,要求是输入一个整数N,输出一个N行N列的方阵,方阵为蛇形数字组合.他想请你帮忙解决一下这个难题.
const go:array[1..4,1..2]of longint=((0,1),(1,0),(0,-1),(-1,0));
var n,i,j:longint;
map:array[0..25,0..25]of longint;
used:array[0..25,0..25]of boolean;
procedure dfs(x,y,k,d:longint);
begin
if used[x,y] then exit;
used[x,y]:=true;
map[x,y]:=k;
if used[x+go[d,1],y+go[d,2]] then inc(d);
if d=5 then d:=1;
dfs(x+go[d,1],y+go[d,2],k+1,d)
end;
begin
readln(n);
fillchar(used,sizeof(used),true);
for i:=1 to n do
for j:=1 to n do used[i,j]:=false;
dfs(1,n,1,2);
for i:=1 to n do
begin
for j:=1 to n-1 do write(map[i,j],' ');
writeln(map[i,n]);
end;
end.