题目名称 3433. 石头游戏
输入输出 marble.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 6
题目来源 Gravatarsyzhaoss 于2020-07-13加入
开放分组 全部用户
提交状态
分类标签
矩阵乘法 矩阵快速幂
分享题解
通过:2, 提交:7, 通过率:28.57%
Gravatar┭┮﹏┭┮ 100 0.078 s 6.63 MiB C++
GravatarOasiz 100 0.481 s 4.54 MiB C++
Gravatar┭┮﹏┭┮ 67 0.063 s 5.71 MiB C++
Gravatar┭┮﹏┭┮ 17 0.065 s 5.71 MiB C++
Gravatar┭┮﹏┭┮ 17 0.068 s 5.71 MiB C++
Gravatar┭┮﹏┭┮ 17 0.069 s 5.71 MiB C++
Gravatar┭┮﹏┭┮ 17 0.071 s 5.71 MiB C++
关于 石头游戏 的近10条评论(全部评论)
注意细节,不能疏忽(我$==$打成$=$调了半个小时)
还有long long
Gravatar┭┮﹏┭┮
2023-11-17 20:19 1楼

3433. 石头游戏

★★   输入文件:marble.in   输出文件:marble.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

石头游戏在一个 n 行 m 列 (1≤n,m≤8) 的网格上进行,每个格子对应一种操作序列,操作序列至多有10种,分别用0~9这10个数字指明。

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

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

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

1、数字0~9:表示拿0~9个石头到该格子。

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的操作序列”1E”,第二至五个格子执行编号为1的操作序列”E”,第六个格子执行编号为2的操作序列”0”。

这是另一个类似于传送带的结构,左边的设备0间隔地产生石头并向东传送。

设备1向右传送,直到设备2。

10秒后,总共产生了5个石头,2个在传送带上,3个在最右边。

【数据规模】

1≤m,n≤8,

1≤t≤$10^8$,

1≤act≤10

【来源】

《算法竞赛进阶指南》