深度优先搜索

今天遇到了一题可以使用深度优先搜索 故来了解一下 广度是进行平面所有可能进行搜索 而深度是一个方向深度挖掘 一直走到头 然后再去寻找其他路

这个扯到算法问题了 就先留个坑吧 我感觉深度就等于广度加了一个continue

例题

for ( i = 1; i <= 27; ++i )
    Str1[i - 1] ^= (Str1[i - 1] % 17 + Str1[i]) ^ 0x19;
def DFS(deep):
    if deep == 0:
        for i in flag:
            print(chr(i),end='')
        print()
    else:
        for i in range(32,128):
            if (i ^ 0x19) ^ (i % 0x11 + flag[deep]) == check[deep - 1]:
                    flag[deep-1] = i
                    DFS(deep - 1)

check = [0x2, 0x18, 0xf, 0xf8, 0x19, 0x4, 0x27, 0xd8, 0xeb, 0x0, 0x35, 0x48, 0x4d, 0x2a, 0x45, 0x6b, 0x59, 0x2e, 0x43, 0x1, 0x18, 0x5c, 0x9, 0x9, 0x9, 0x9, 0xb5, 0x7d]

flag = [0] * 28
flag[len(check)-1] = check[-1]
print(flag)
DFS(len(check)-1)