Drolca

Apologize To Drolca
随笔 - 28, 文章 - 1, 评论 - 6, 引用 - 0
数据加载中……

pku 2155 Matrix

#include <iostream>
using namespace std;
const int maxn=1001;
int c[maxn][maxn];
int T,n,m;
int lowBit(int i){return i&(-i);}

void add(int i,int j,int val)
{
    
while(i>0)
    
{
        
int temp=j;
        
while(temp>0)
        
{
            c[i][temp]
+=val;
            temp
-=lowBit(temp);
        }

        i
-=lowBit(i);
    }

}


int sum(int i,int j)
{
    
int s=0;
    
while(i<=n)
    
{
        
int temp=j;
        
while(temp<=n)
        
{
            s
+=c[i][temp];
            temp
+=lowBit(temp);
        }

        i
+=lowBit(i);
    }

    
return s%2;
}


int main()
{

    scanf(
"%d",&T);
    
while(T--)
    
{
        memset(c,
0,sizeof(c));
        scanf(
"%d%d",&n,&m);
        
for(int i=1;i<=m;i++)
        
{
            
char s;
            scanf(
"%s",&s);
            
if(s=='C')
            
{
                
int x1,y1,x2,y2;
                scanf(
"%d%d%d%d",&x1,&y1,&x2,&y2);
                add(x2,y2,
1);
                add(x1
-1,y2,-1);
                add(x2,y1
-1,-1);
                add(x1
-1,y1-1,1);
            }

            
if(s=='Q')
            
{
                
int x,y;
                scanf(
"%d%d",&x,&y);
                printf(
"%d\n",sum(x,y));
            }

        }

        printf(
"\n");
    }

    
return 0;
}

posted on 2009-08-19 22:30 Drolca 阅读(364) 评论(2)  编辑 收藏 引用

评论

# 开张大吉  回复  更多评论   

很好很强大!
2009-08-20 11:59 | z__jj

# re: pku 2155 Matrix  回复  更多评论   

@z__jj
开张大吉?=.=!!! z__jj大牛什么时候也写个blog让我们小菜学习学习呀呵呵
2009-08-20 12:02 | Drolca

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理