石头游戏ch3401

本文介绍了如何使用矩阵快速幂解决一个关于石头游戏的问题。在n行m列的网格上,根据给定的操作序列和时间t,计算最多石头数量。通过分析矩阵快速幂的原理,提出状态矩阵和转移矩阵的概念,解析操作并给出错误示例。
摘要由CSDN通过智能技术生成

题目链接: https://www.acwing.com/problem/content/208/
石头游戏在一个 n 行 m 列 (1≤n,m≤8) 的网格上进行,每个格子对应一种操作序列,操作序列至多有10种,分别用0~9这10个数字指明。

操作序列是一个长度不超过6且循环执行、每秒执行一个字符的字符串。

每秒钟,所有格子同时执行各自操作序列里的下一个字符。

序列中的每个字符是以下格式之一:

1、数字09:表示拿09个石头到该格子。
2、NWSE:表示把这个格子内所有的石头推到相邻的格子,N表示上方,W表示左方,S表示下方,E表示右方。
3、D:表示拿走这个格子的所有石头。

给定每种操作序列对应的字符串,以及网格中每个格子对应的操作序列,求石头游戏进行了 t 秒之后,石头最多的格子里有多少个石头。

在游戏开始时,网格是空的。
输入格式

第一行4个整数n, m, t, act。

接下来n行,每行m个字符,表示每个格子对应的操作序列。

最后act行,每行一个字符串,表示从0开始的每个操作序列。
输出格式

一个整数:游戏进行了t秒之后,所有方格中石头最多的格子有多少个石头。
输入样例:

1 6 10 3
011112
1E
E
0

输出样例:

3

分析:
听说,这是道超级简单的矩阵快速幂~~~ 我好菜呀。
至于此,我对矩阵快速幂也有了一个大概的认知,先在此说一下矩阵快速幂的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值