小x最近迷上了矩陣,他定義了乙個對於一種特殊矩陣的特徵函式g。對於nn的矩陣a,a的所有元素均為0或1,則g(a)等於所有a[i][j]a[j][i]的和對2取餘之後的結果。舉乙個例子:
對於上圖這個33矩陣a,g(a)=(11+10+11+01+11+10+11+ 01+00) 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不需要輸出)。
設x=a[i][j]*a[j][i];
那麼a[i][j]和a[j][i]的g值都為x
加的時候就加2x。由於x是個整數,所以2x一定不是奇數,所以它%2=0
簡稱不用管。
然後就算中間斜角的值。
更改一行或者一列會改變其中乙個,那麼ans就可以取反一次得出結果。
#include
int n,q,ans,z;
intmain()
ans=ans%2;
while
(q)}
小X的矩陣
題目描述 小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 ...
小 X 的密碼破譯 模擬
description 解題思路 一開始看不懂,後來又看了一下發現 似乎 是一件超級簡單的模擬題 吧 就打了乙個模擬,超時了。正解如下 原本的 include include include include using namespace std long long a,b,c,n,d 100000...
螺旋矩陣n m的規律
思路 將矩陣分成巢狀的很多個圈 這樣每乙個圈的相對位置的值都和第乙個位置的值有關係。分別求出每乙個圈的第乙個位置就好啦!include using namespace std define pb emplace back define mp make pair define eps 1e 8 typ...