#P9697. 矩阵
矩阵
题目描述
Alex 送给 fy 一个棋盘作为生日礼物,棋盘可以看做 的矩阵 ,对于最初状态,。
fy 可以对棋盘的子矩阵做旋转和翻转操作,具体定义见「输入格式」。
Alex 想知道操作之后的矩阵,这样 fy 就会觉得 Alex 很厉害。
输入格式
第⼀⾏两个正整数 和 。
接下来 行,每一行一个操作:
T x y l
:表示将 为左上角,边长为 的正方形顺时针旋转 。R x y l
:表示将 为左上角,边长为 的正方形沿左下-右上对角线翻转。
输出格式
由于输出量过⼤,假设 存储着最后的矩阵,通过下列过程对矩阵进⾏ hash:
unsigned int ans=0;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++){
ans^=ans<<13;
ans^=ans>>17;
ans^=ans<<5;
ans+=mat[i][j]+1234567;
}
输出⼀个整数,表⽰最后的 。可参考下发样例中的 matrix_sample.cpp
。
样例
详见下发文件。
数据范围
对于 的数据,。
对于另外 的数据,操作的矩阵不交。
对于另外 的数据,只有 R
操作。
对于另外 的数据,只有 T
操作。
对于 的数据,。