主题:请各位帮个忙~鄙人新手
刚学了没几天,但是被迫要参加NOIP,所以请各位高手们帮帮忙
1、请问有什么比较好用的书吗?因为我们只发了部分讲义,例子基本没有,很难懂
2、问几个问题
(1)
for i:=1 to n do
for j:=1 to n do a[i,j]:=' ';
for i:=1 to m do
for j:=i to n+1-i do
begin
x:=copy(st,j,1);
a[i,j]:=x;
a[n+1-i,n+1-j]:=x;
end;
中的copy是什么意思?
(2)
program project33;
var
a:array[1..10] of integer;
s,n,m:longint;
flag:set of byte;
procedure try1(dep:integer);
var
i:integer;
begin
for i:=1 to n do
if not(i in flag) then
begin
flag:=flag+[i];
a[dep]:=i;
if dep=m
then inc(s)
else try1(dep+1);
flag:=flag-[i];
end;
end;
begin
writeln('please input M and N:');
readln(m,n);
flag:=[ ];
s:=0;
try1(1);
writeln(s);
end.
这个程序是做什么的?
ps:老师让我们读程序写结果,但是要些分析过程,这个实在是没看懂,拜托各位了
1、请问有什么比较好用的书吗?因为我们只发了部分讲义,例子基本没有,很难懂
2、问几个问题
(1)
for i:=1 to n do
for j:=1 to n do a[i,j]:=' ';
for i:=1 to m do
for j:=i to n+1-i do
begin
x:=copy(st,j,1);
a[i,j]:=x;
a[n+1-i,n+1-j]:=x;
end;
中的copy是什么意思?
(2)
program project33;
var
a:array[1..10] of integer;
s,n,m:longint;
flag:set of byte;
procedure try1(dep:integer);
var
i:integer;
begin
for i:=1 to n do
if not(i in flag) then
begin
flag:=flag+[i];
a[dep]:=i;
if dep=m
then inc(s)
else try1(dep+1);
flag:=flag-[i];
end;
end;
begin
writeln('please input M and N:');
readln(m,n);
flag:=[ ];
s:=0;
try1(1);
writeln(s);
end.
这个程序是做什么的?
ps:老师让我们读程序写结果,但是要些分析过程,这个实在是没看懂,拜托各位了