AcWing 5396. 棋盘
原题链接
简单
作者:
broshen
,
2024-01-17 00:59:39
,
所有人可见
,
阅读 58
C++ 代码
#include<bits/stdc++.h>
using namespace std;
void solve()
{
int n,m;
cin>>n>>m;
int dp[n+2][n+2];
memset(dp,0,sizeof(dp));
int x1,y1,x2,y2;
for(int i=0;i<m;i++)
{
cin>>x1>>y1>>x2>>y2;
dp[x2][y2]+=1;
dp[x1-1][y1-1]+=1;
dp[x2][y1-1]-=1;
dp[x1-1][y2]-=1;
}
for(int i=n;i>=1;i--)
{
for(int j=n;j>=1;j--)
{
dp[i][j]=dp[i][j]+dp[i+1][j]+dp[i][j+1]-dp[i+1][j+1];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(dp[i][j]%2) cout<<1;
else cout<<0;
}
cout<<endl;
}
}
int main(void)
{
solve();
return 0;
}