TDz
Вот, наковырял на делфе консольную прогу (в турбо-паскале - Stack Overflow

). Только работает она очень долго. Сижу думаю, как ее уменьшить...
Код:
program domino;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
n = 28;
d: array [1..28] of byte = (
00, 01, 02, 03, 04, 05, 06,
11, 12, 13, 14, 15, 16,
22, 23, 24, 25, 26,
33, 34, 35, 36,
44, 45, 46,
55, 56,
66);
var
r: string;
procedure outDomino(s: string);
var
i: byte;
begin
for i := 1 to length(s) do write(d[ord(s[i])]:3);
writeln;
end;
procedure chain(s: string; last: byte); far;
var
i: byte;
begin
if r <> '' then exit;
if length(s) = n then begin
if last = 6 then r := s;
end else begin
for i := 1 to n do if pos(chr(i), s) = 0 then begin
if ((d[i] mod 10) = last) or ((d[i] div 10) = last) then
chain(s + chr(i), (d[i] mod 10) + (d[i] div 10) - last);
end;
end;
end;
begin
r := '';
chain('', 1);
writeln('result:');
outDomino(r);
end.