题意:
题意很麻烦就是让你构造一个矩阵使得那个算法不行。
其实构造方法很多,难点可能在差值为
k
k
k ,
2
∗
3
2*3
2∗3 的矩阵
q
=
(
1
<
<
18
)
−
1
q=(1 << 18) - 1
q=(1<<18)−1
q
q
(
x
o
r
)
k
q
q \quad q(xor)k \quad q
qq(xor)kq
k
q
k
k \quad q \quad \quad \quad \quad k
kqk
或者:
q
+
k
q
0
q+k \quad q \quad \quad \quad0
q+kq0
k
q
+
k
k
k \quad \quad \quad q+k \quad k
kq+kk
或者 3 ∗ 3 3*3 3∗3 的矩阵
n
+
k
n
n
n+k \quad n \quad n
n+knn
k
n
n
+
k
k \quad n \quad n+k
knn+k
k
k
+
n
k
k \quad k+n \quad k
kk+nk
其他应该还有很多。
AC代码:
const int N = 1010;
int ans[N][N];
int n, m, k;
int res, tmp, cnt, pos;
int main()
{
sd(k);
res = (1 << 18) - 1;
tmp = res ^ k;
puts("2 3");
ans[1][2] = tmp;
ans[2][3] = ans[0][3] = ans[2][1] = k;
rep(i, 1, 2)
{
rep(j, 1, 3)
{
if (ans[i][j])
printf("%d ", ans[i][j]);
else
printf("%d ", res);
}
printf("\n");
}
return 0;
}