Trở về đầu
Mời các bạn Download code tại: Click here
Program BaiToanTuDep;
uses crt;
const MAXN = 20;
var n: integer;
a: string;
dem: integer;
procedure Nhap;
begin
write('Nhap N = '); readln(n);
end;
procedure Init;
begin
dem:= 0;
a:= '';
end;
procedure InKQ;
var i: integer;
begin
dem:= dem + 1;
writeln(dem:3, ': ', a);
end;
function OK(i: integer; s: string): boolean;
var l:integer;
begin
for l:=1 to i div 2 do
if copy(s,i-l+1,l) = copy(s,i-2*l+1,l) then
exit(false);
exit(true);
end;
procedure Try2(i: integer);
var j: char;
begin
for j:= 'A' to 'C' do
begin
a:= a + j;
if OK(i, a) = true then // Day chinh la nhanh can
if i = n then InKQ
else Try2(i+1);
delete(a, i, 1);
end;
end;
BEGIN
CLRSCR;
Nhap;
Init;
Try2(1);
READLN;
END.