luogu#P10267. 机器人
机器人
题目背景
画师:白森 さわ(from pixiv),侵删。
题目描述
真寻连清理炸弹都懒得自己使用,于是美波里又发明了一款全自动扫地机器人来清理房间。
真寻的房间由 行 列的方砖组成,第 行第 列的方砖上的灰尘数量为 。美波里的机器人每天会从房间的左上角出发,每次随机往右或往下走一步。
若机器人在没有撞墙的情况下走到了右下角,那么它会返回它经过的所有方砖的灰尘数量的异或和给美波里;若机器人在走到右下角之前撞了墙,即某一步的目标位置不存在,那么机器人会返回一个错误值 并结束移动。
现给出某一天真寻的房间中每一块方砖上的灰尘数量,请你求出机器人返回值的期望值。
形式化地,给定一 的矩阵 ,第 行第 列的权值为 ,现有一机器人从 出发,每次各有 的概率从 移动至 或 ;若机器人移动至 ,则返回路径点权异或和;若在移动至 前有任意时刻移动至矩阵外,则返回 ;求返回值的期望值。
答案对 取模。
输入格式
第一行三个整数 ,分别表示方砖行数、列数及错误值;
接下来 行,每行 个整数,第 行第 列的整数表示 ,描述每一块方砖上的灰尘数量。
输出格式
一行一个整数 ,表示期望值在模 意义下的值。
若对有理数取余有疑惑,请参照 P2613 【模板】有理数取余。
2 3 5
7 18 4
10 6 3
375000011
6 5 0
9 4 6 2 3
6 4 4 0 1
2 0 4 3 0
1 5 7 3 4
5 0 2 1 5
6 4 9 8 3
99609378
提示
样例 解释
若机器人第一步往下走,则:
-
若机器人第二步往下走,则撞墙,返回 ,概率为 ;
-
若机器人第二步往右走,则:
-
若机器人第三步往下走,则撞墙,返回 ,概率为 ;
-
若机器人第三步往右走,则到达右下角,返回 ,概率为 ;
-
若机器人第一步往右走,则:
-
若机器人第二步往下走,则:
-
若机器人第三步往下走,则撞墙,返回 ,概率为 ;
-
若机器人第三步往右走,则到达右下角,返回 ,概率为 ;
-
-
若机器人第二步往右走,则:
-
若机器人第三步往下走,则到达右下角,返回 ,概率为 ;
-
若机器人第三步往右走,则撞墙,返回 ,概率为 ;
-
因此,返回值的期望值为 $\frac{3\times 5+8+16+18}{8}+\frac{5}{4}=\frac{67}{8}$,在模 意义下为 。
数据范围
对于所有数据,,。
本题共 个测试点,采用捆绑测试,子任务及数据点分配如下:
子任务编号 | 数据点编号 | 特殊性质 | 分值 |
---|---|---|---|
无特殊限制 |
提示
表示异或(bitwise xor), 的异或和为 。