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


    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 12
    1 1 1
    0 1 1
    1 0 0
    3
    2 3
    3
    2 2
    2 2
    1 3
    3
    3
    1 2
    2 1
    1 1
    3
    

    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.
    
  • 相关阅读:
    ipython notebook
    使用gevent多线程下载豆瓣音乐 李少宏 博客园
    牛人
    Lucene中对document(记录)的CURD操作~为分布式全文检索设计
    DDD领域驱动设计(Domain Driven Design)(转)
    LINQtoSQL那点事~线程共享的DbContext与私有的DbContext
    LINQtoSQL那点事~LINQtoSQL中的数据缓存与应对
    分布式中的DTO(转)
    php处理checkbox
    filter_var()函数解释
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319547.html
Copyright © 2020-2023  润新知