給定n個A和2n個B,用這些字元拼成一個字元串,要求這個串的所有字首和字尾B的個數始終不少于A。
(一個字元串的字首是隻從開頭到某個位置為止的子串,字尾是隻從某個位置到結尾的子串)。
輸入格式
多組資料,每組資料隻有一行,包含一個正整數n。(n<=10^17)。
輸出格式
每組資料輸出一行,最終結果對99991取餘數的結果。
def count(n,m,ac,bc,sb):
if(ac==n or
bc==m):
sb;
return
1;
if(ac==bc):
sb.append(‘b‘)
tmp =
count(n,m,ac,bc+1,sb);
sb.pop()
tmp;
else:
sb.append(‘a‘);
tmp0=count(n,m,ac+1,bc,sb);
sb.pop();
sb.append(‘b‘);
tmp0 =
tmp0+count(n,m,ac,bc+1,sb)
return tmp0;
n=2
m=2*n
print count(n,m,0,0,[]);