这玩意儿为啥不 RE 啊
查看原帖
这玩意儿为啥不 RE 啊
483928
Z1qqurat楼主2023/10/20 19:42
int dfs(int cur, int x, bool f, bool g) {
    if(cur == len + 1) return 1;
    if(x != -1 && memo[cur][x][f][g] != -1) return memo[cur][x][f][g]; //
    int lim = 9, ret = 0;
    if(f) lim = s[cur] - '0';
    for (int i = 0; i < lim; ++i) {
        if(g) {
            if(!i) ret += dfs(cur + 1, -1, f & (i == lim), 1);
            else ret += dfs(cur + 1, i, f & (i == lim), 0);
        }
        else if(abs(i - x) >= 2) ret += dfs(cur + 1, i, f & (i == lim), 0);
    }
    return memo[cur][x][f][g] = ret;
}

当我填的是前导 0 的时候,x = -1,那我一开始判 memo[cur][x][f][g] 的时候为啥不会因为 x = -1 而 RE 啊/yiw

2023/10/20 19:42
加载中...