矩取!
与 CF1149E 本质相同。
思路
考虑每次减小后修改的路径由于是最短的,所以一定是
发现与 CF1149E 很像的一点是都是取走某个位置再修改一些其它位置且去掉修改都为 NIM,启示我们按照
证明类似 NIM,考虑若对于一个存在某组不为
这样先手拿到的一定是异或和非零的局面,后手拿到的一定是异或和为零的局面,先手必胜。
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 2e4 + 7;
int n, m, sg[N];
int main() {
int T;
cin >> T;
while (T --) {
cin >> n >> m;
for (int i = 1; i <= n + m - 1; i ++)
sg[i] = 0;
for (int i = 1; i <= n; i ++)
for (int j = 1, x; j <= m; j ++)
cin >> x, sg[i + j - 1] ^= x;
bool o = 0;
for (int i = 1; i <= n + m - 1; i ++)
o |= sg[i];
cout << (o ? "Ashish\n" : "Jeel\n");
}
return 0;
}