传送门 0棋盘 - 蓝桥云课
const int N = 2e3 + 10;int n,m;
int a[N][N];void insert(int x11,int y11,int x22,int y22)
{a[x11][y11] ++;a[x11][y22 + 1] --;a[x22 + 1][y11] --;a[x22 + 1][y22 + 1] ++;
}void solve()
{cin >> n >> m;for (int i = 1;i <= m;i ++){int x11,y11,x22,y22;cin >> x11 >> y11 >> x22 >> y22;insert(x11,y11,x22,y22);} for (int i = 1;i <= n;i ++)for (int j = 1;j <= m;j ++)a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];for (int i = 1;i <= n;i ++){for (int j = 1;j <= m;j ++){if (a[i][j] & 1) cout << 1;//加了奇数次,为黑子else cout << 0;//偶数次,为白子}cout << endl;}}