Pagini recente » Cod sursa (job #1296859) | Cod sursa (job #2726144) | Cod sursa (job #1350565) | Cod sursa (job #1298290) | Cod sursa (job #18466)
Cod sursa(job #18466)
program culori;
type stiva=array[1..128]of byte;
var n,i:integer;
st:stiva;
t:array[1..512]of integer;
f:text;
nr:integer;
procedure go(st:stiva;deep:shortint;noduri,k:byte);
begin
if (deep>2*n-k)or(noduri>n)or(noduri+2*n-k<n) then exit
else if (k=2*n-1)and(deep=0)and(noduri=n)and(st[1]=t[1]) then begin
inc(nr);
if nr>=9901 then dec(nr,9901);
exit;
end
else if deep=-1 then exit;
{avanseaza}
st[deep+1]:=t[k];
go(st,deep+1,noduri+1,k+1);
{inapoi}
if (deep>0)and(st[deep]=t[k+1]) then go(st,deep-1,noduri,k+1);
end;
begin
assign(f,'culori.in');reset(f);
readln(f,n);
for i:=1 to 2*n-1 do
read(f,t[i]);
close(f);
go(st,0,1,1);
assign(f,'culori.out');rewrite(f);
write(f,nr);
close(f);
end.