题目链接
解题思路
代码
#include <iostream>
using namespace std;
const int N=2005;
int a[N][N];
void insert(int x1,int y1,int x2,int y2){
a[x1][y1]++;
a[x1][y2+1]--;
a[x2+1][y1]--;
a[x2+1][y2+1]++;
}
int main()
{
int n,m;
cin>>n>>m;
while(m--){
int x1,x2,y1,y2;
cin>>x1>>y1>>x2>>y2;
insert(x1,y1,x2,y2);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;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<=n;j++){
//如果操作数是奇数,棋子是黑色,偶数,棋子是白色
if(a[i][j]%2==0) cout<<"0";
else cout<<"1";
}
cout<<endl;
}
return 0;
}
日期
2024/1/16