2 5 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 2 2 2 0 1 1 1 0 2 2 2
1 0 1
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstdio>
#define N 110
using namespace std;
int n,q;
int bit[N][N][N];
int getsum(int a,int b,int c) {
int sum=0;
for(int i=a; i>0; i-=i&-i) {
for(int j=b; j>0; j-=j&-j) {
for(int k=c; k>0; k-=k&-k) {
sum+=bit[i][j][k];
}
}
}
return sum;
}
void add(int a,int b,int c) {
for(int i=a; i<=n; i+=i&-i) {
for(int j=b; j<=n; j+=j&-j) {
for(int k=c; k<=n; k+=k&-k) {
bit[i][j][k]^=1;
}
}
}
}
int main() {
//freopen("test.in","r",stdin);
while(cin>>n>>q) {
memset(bit,0,sizeof bit);
int op,x2,y2,z2,x1,y1,z1;
while(q--) {
scanf("%d%d%d%d",&op,&x1,&y1,&z1);
if(op==0) {
printf("%d\n",getsum(x1,y1,z1)%2);
continue;
}
scanf("%d%d%d",&x2,&y2,&z2);
add(x1,y1,z1);
add(x1,y1,z2+1);
add(x1,y2+1,z1);
add(x1,y2+1,z2+1);
add(x2+1,y1,z1);
add(x2+1,y1,z2+1);
add(x2+1,y2+1,z1);
add(x2+1,y2+1,z2+1);
}
}
return 0;
}版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/acm_baihuzi/article/details/46860955