Pagini recente » Cod sursa (job #1977891) | Cod sursa (job #2940755) | Cod sursa (job #2461282) | Cod sursa (job #1552752) | Cod sursa (job #249484)
Cod sursa(job #249484)
type stiva=array [1..100] of longint;
var f:text;
st,a:stiva;
n,i,k,v,x,y,j,m,c:integer;
as,ev:boolean;
procedure init(k:integer;var st:stiva);
begin
st[k]:=0;
end;
procedure succesor(k:integer; var st:stiva; var as:boolean);
BEGIN
if st[k]<2 then begin
st[k]:=st[k]+1;
as:=true;
end
else
as:=false;
end;
procedure valid(k:integer; st:stiva; var ev:boolean);
var i:integer;
begin
ev:=true;
if k>1 then if (st[k-1]=1) and (st[k]=1) then ev:=false;
end;
function solutie(k:integer;st:stiva):boolean;
begin
solutie:=n=k;
end;
procedure tipar(k:integer);
var i:integer;
begin
for i:=1 to k do if st[i]=1 then write('A')
else write('M');
writeln;
end;
begin
{assign(f,'date.in');
reset(f);}
read(n);
k:=1;
init(k,st);
{for i:=1 to n do readln(a[i]);}
while k>0 do begin
repeat
succesor(k,st,as);
if as then valid(k,st,ev);
until( as and ev) or (not as);
if as then if solutie (k,st) then tipar (k)
else begin
k:=k+1;
init(k,st);
end
else k:=k-1;
end;
end.