构造一个 n × m 的01矩阵,要求在矩阵里不同的三个元素 (|i1-i2| = |i2-i3| <= 1,|j1-j2| = |j2-j3| <= 1)没有一组满足
试着构造,发现上下规律为010101,对角线规律为11001100,做出来完整的矩阵就为
00110011
11001100
00110011
11001100
00110011
11001100
00110011
11001100按照这个样子构造即可
accode:
#include <bits/stdc++.h>
using namespace std;
#define ios std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int main()
{
ios
int n, m;
scanf("%d %d", &n, &m);
int c = m / 2, d = m % 2;
if(m == 1){
for(int i = 1; i<= n; i++){
if(i % 2) cout<<"1"<<endl;
else cout<<"0"<<endl;
}
}
for(int j = 1; j <= n; j++){
if(j % 2){
for(int i = 1; i <= c; i++){
if(i % 2) cout<<"00";
else cout<<"11";
if(i == c){
if(d != 0){
if(c % 2 == 0) cout<<"0";
else cout<<"1";
}
cout<<endl;
}
}
}
else{
for(int i = 1; i <= c; i++){
if(i % 2) cout<<"11";
else cout<<"00";
if(i == c){
if(d != 0){
if(c % 2 == 0) cout<<"1";
else cout<<"0";
}
cout<<endl;
}
}
}
}
return 0;
}