#include<stdio.h>
#define N 1000+16
int bit[N][N];
int n;
int lowbit(int x)
{
return x&(-x);
}
void add(int x,int y)
{
int i,j;
for(i=x;i<=n;i+=lowbit(i))
for(j=y;j<=n;j+=lowbit(j))
bit[i][j]++;
}
int sum(int x,int y)
{
int res=0,i,j;
for(i=x;i>0;i-=lowbit(i))
for(j=y;j>0;j-=lowbit(j))
res+=bit[i][j];
return res%2;
}
int main(void)
{
int T,q,x1,x2,y1,y2;
char st[8];
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&q);
memset(bit,0,sizeof(bit));
while(q--)
{
scanf("%s",st);
if(st[0]=='C')
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
add(x2+1,y2+1);
add(x1,y2+1);
add(x2+1,y1);
add(x1,y1);
}
else
{
scanf("%d%d",&x1,&y1);
printf("%d\n",sum(x1-1,y1-1));
}
}
printf("\n");
}
}
poj 2155Matrix
最新推荐文章于 2025-01-03 19:49:02 发布