一列人有n个如果n比3大的话,就可以让偶数位的人出队或者奇数位的出队,3个人就直接出队,问有多少种出队方法
直接dfs就好
def dfs(n):
if (n<3):
return 0
if (n==3):
return 1
if (n%2==0):
ret=2*dfs(n/2)
return ret
if (n%2==1):
ret=dfs(n/2)+dfs(n/2+1)
return ret
try:
while True:
n=int(raw_input())
print dfs(n)
except EOFError:
exit