0%

ABC-407-D - Domino Covering XOR(dfs优化)

思路讲解

其实还是比较简单的,就是如果说最后的答案不涉及这个顺序问题,其实是可以不用管这个顺序的。

当然,所有选择的可能都是要管的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 选择1:不放多米诺骨牌,跳过当前格子
vis[i][j] = true;
dfs(covered_xor);
vis[i][j] = false;

// 选择2:尝试垂直放置多米诺骨牌 (向下)
if (i + 1 <= N && !vis[i + 1][j]) {
vis[i][j] = vis[i + 1][j] = true;
dfs(covered_xor ^ A[i][j] ^ A[i + 1][j]);
vis[i][j] = vis[i + 1][j] = false;
}

// 选择3:尝试水平放置多米诺骨牌 (向右)
if (j + 1 <= M && !vis[i][j + 1]) {
vis[i][j] = vis[i][j + 1] = true;
dfs(covered_xor ^ A[i][j] ^ A[i][j + 1]);
vis[i][j] = vis[i][j + 1] = false;
}

AC代码

https://atcoder.jp/contests/abc407/submissions/66113167

心路历程(WA,TLE,MLE……)