⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 roat4.pas

📁 This ar the basic programs that i did in highschool. From very simple to medium programs. From array
💻 PAS
字号:
program dame;
type stiva=array[1..25] of integer;
var st:stiva;
    n,k:integer;
    as,ev:boolean;
 procedure init(var st:stiva;k:integer);
 begin
 st[k]:=0;
 end;
 procedure succesor(var as:boolean;var st:stiva;k:integer);
 begin
 if st[k]<n then
            begin
            st[k]:=st[k]+1;
            as:=true;
            end
 else as:=false;
 end;
 procedure valid(var ev:boolean;st:stiva;k:integer);
           var i:integer;
 begin
 ev:=true;
 for i:=1 to k-1 do
                 begin
                 if st[i]=st[k] then ev:=false;
                 if abs(st[k]-st[i])=abs(k-i) then ev:=false
                 end;
 end;
 function solutie(st:stiva;k:integer):boolean;
 begin
 solutie:=(n=k);
 end;
 procedure tipar;
           var i:integer;
 begin
 for i:=1 to n do
 write(st[i],' ');
 writeln;
 end;
begin
write('n=');
readln(n);
k:=1;
init(st,k);
while k>0 do
      begin
        repeat
        succesor(as,st,k);
        valid(ev,st,k);
        until (not as) or (as and ev);
      if as then if solutie(st,k) then tipar
                 else begin
                      k:=k+1;
                      init(st,k);
                      end
      else k:=k-1;
      end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -