Re
tree
这题有个神奇的树(有点像哈弗曼树),叶子是b-z的字母
用od动态运行一下,把树画了出来
我们的输入会控制左走还是右走,48(‘0’)是左,49(‘1’)是右,而这个实际上是把数字转化为长度为4的01字符串
最后我们要弄出这个字符串:zvzjyvosgnzkbjjjypjbjdvmsjjyvsjx
根据字符串反推出48和49的集合
target = 'zvzjyvosgnzkbjjjypjbjdvmsjjyvsjx'
tree = {
}
tree['z'] = [49,48,49,48]
tree['v'] = [49,49,49,49]
tree['j'] = [48,49,48]
tree['y'] = [48,48,48,48]
tree['o'] = [49,49,49,48,48]
tree['s'] = [49,48,48]
tree['g'] = [48,48,49,48]
tree['n'] = [49,48,49,49]
tree['k'] = [48,49,49,49,49]
tree['b'] = [48,48,48,49,48]
tree['p'] = [48,49,49,48,49]
tree['d'] = [48,49,49,49,48,49,48]
tree['m'] = [49,49,49,48,49,49]
tree['x'] = [48,49,49,49,48,48]
tar2num = []
ans1 = ''
for i in range(len(target)):
tmp = tree[target[i]]
for num in tmp:
tar2num.append(num)
ans1 += chr(num)
print len(tar2num)
print ans1
010101010011001001000110011100110110010001000111010101100110101101011000001100010011100101101010010101000110100001111000010101110111000101001011011011010101100101010100010110100101000000110001010110000011010001000001011001100111010101000110010010100010111100110111010001100110110001110001010010010100011000110001010010110100100001010001010101000101001000110101010100110011011000110011011110100100111101101011011110010110111101011000001100110011011001101110010110100110110001100001010011110111000100110100010110000011010001101011011011000111011101010010011101110111000101100001