📄 p2155.cpp
字号:
#include <iostream>
using namespace std;
const int MAXN = 1010;
bool c[MAXN][MAXN];
int N,n,t;
inline int lowbit(int x){
return x & (-x);
}
void change(int x,int y){
int t;
while(x <= n){
t = y;
while(t <= n){
c[x][t] ^= 1;
t += lowbit(t);
}
x += lowbit(x);
}
}
int sum(int x,int y){
int t,res(0);
while(x > 0){
t = y;
while(t > 0){
res ^= c[x][t];
t -= lowbit(t);
}
x -= lowbit(x);
}
return res;
}
int main(){
char ch;
int x1,y1,x2,y2;
cin >> N;
while(N--){
memset(c,0,sizeof(c));
scanf("%d%d",&n,&t);
for(int i = 0;i < t;++i){
cin >> ch;
if(ch == 'C'){
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
change(x1,y1);
change(x2+1,y1);
change(x1,y2+1);
change(x2+1,y2+1);
}
else{
scanf("%d%d",&x1,&y1);
printf("%d\n",sum(x1,y1));
}
}
if(N) puts("");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -