题意:构造01矩阵,使每个格子周围(上下左右)都有两个格子的颜色与该格子颜色不同
分析样例,两行时发现可以采用下面的方法排列
10011001….
01100110….
扩展到四行就是:
10011001….
01100110….
01100110….
10011001….
可以发现是一个4*4小矩阵循环:
1001
0110
0110
1001
直接按照规律输出即可
#include<bits/stdc++.h>
using namespace std;
int a[4][4]={{1,0,0,1},
{0,1,1,0},
{0,1,1,0},
{1,0,0,1}};
void slove(){
int n,m;
cin >>n >>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout << a[i%4][j%4] << " ";
}
cout << endl;
}
return ;
}
int main(){
int t;
cin >>t;
while(t--){
slove();
}
return 0;
}