原题链接
- 题意:给出 (n imes m) 的矩阵,然后构造出一个矩阵,在原矩阵上能给某个数加 (1) 或者不加,要求矩阵里所有元素相邻的不相同。
- 题解:都说是很显然的套路,然而我并不知道,奇数和偶数不相等,所以,让每个斜对角线都是奇偶奇偶这样就可以,然后奇数+1就是偶数。
- 代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6 + 10;
int mp[111][111];
int n, m;
void solve() {
cin >> n >> m;
for (int i = 1; i <= n; i ++)
for (int j = 1; j <= m; j ++)
cin >> mp[i][j];
for (int i = 1; i <= n; i ++) {
for (int j = 1; j <= m; j ++) {
int sum = i + j;
if (sum % 2 == 0) {
if (mp[i][j]%2 == 0)continue;
else mp[i][j]++;
} else {
if (mp[i][j]%2)continue;
mp[i][j]++;
}
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cout << mp[i][j]<<" ";
}cout << endl;
}
}
int main() {
int t = 1;cin >> t;
while (t--) solve();
return 0;
}