poj 2155Matrix

    xiaoxiao2021-03-25  106

    #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");             } }

    转载请注明原文地址: https://ju.6miu.com/read-17145.html

    最新回复(0)