2015年普级组模拟试题 小X的矩阵

来源:互联网 发布:灰姑娘网络语什么意思 编辑:程序博客网 时间:2024/09/21 06:33

Description

小X最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G。对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余之后的结果。举一个例子: 

这里写图片描述

对于上图这个3*3矩阵A,G(A)=(1*1+1*0+1*1+0*1+1*1+1*0+1*1+ 0*1+0*0) mod 2=0 当然询问一个矩阵的G值实在是太简单了。小X在给出一个N*N矩阵的同时将给你Q个操作,操作描述如下: 操作1:形如一个整数1和一个整数x,表示将第x行的元素全部“翻转”。 操作2:形如一个整数2和一个整数x,表示将第x列的元素全部“翻转”。 操作3:形如一个整数3,表示询问当前矩阵的特征值G。 “翻转”的定义为将1变成0,将0变成1。 

Input

第1行:两个正整数N,Q。   N表示矩阵的行数(列数),Q表示询问的个数。 接下来N行:一个N*N的矩阵A,0<=A[i][j]<=1。 接下来Q行:Q个操作。

Output

一行若干个数,中间没有空格,分别表示每个操作的结果(操作1和操作2不需要输出)。

Sample Input

3 121 1 10 1 11 0 032 332 22 21 3331 22 11 13

Sample Output

01001

题解

简单的规律

代码

var  n,q,g:longint;procedure init;var  i,j,x:longint;begin  readln(n,q);  g:=0;  for i:=1 to n do    for j:=1 to n do      begin        read(x);        if i=j then g:=g xor x;      end;end;procedure main;var  i,x:longint;begin  for i:=1 to q do    begin      read(x);      if x=3 then write(g) else        begin          readln(x);          if g=0 then g:=1                 else g:=0;        end;    end;end;begin  init;  main;end.
1 0
原创粉丝点击