把回溯模板的第 ③ 步删掉再运行:
path[pos] = num;
used[num] = true;
dfs(pos + 1);
// used[num] = false; ← 这一行被删掉了
程序仍能正常结束,但输出会( )
- A. 和原来一模一样,因为每层递归有自己独立的 pos,互不影响
- B. 输出顺序变成逆字典序
- C. 行数严重变少:回到岔路口换分支时,用过没还的数仍标着「已用过」,被后续分支跳过,大量方案被漏掉
- D. 一行都不输出,因为所有数很快就全部变成「已用过」
g6-07143.in输出g6-07143.out把回溯模板的第 ③ 步删掉再运行:
path[pos] = num;
used[num] = true;
dfs(pos + 1);
// used[num] = false; ← 这一行被删掉了
程序仍能正常结束,但输出会( )