U598575 [Super Mario World 系列 番外] 马的走法

题目背景

[Super Mario World 系列](https://www.luogu.com.cn/training/842723) 番外 在玛丽欧的世界不仅有许多关卡,还有一种象棋(没错玛丽欧他们爱下象棋),不过由于 Super Mario World(超级玛丽欧世界)中所有的生物都有着不一样的特性,这种象棋中的“马”走法不同。而一天玛丽欧和兄弟路易吉在下象棋时为马的走法争吵了起来。 声明:本题所有关于国际象棋的描述与现实**不尽相同**,请仔细读题。

题目描述

马的走法用一个字符串表示,该字符串包含四个字母`UDLR`,分别表示向上一格、向下一格、向左一格和向右一格。当然,马的行进方式可以被左右、上下翻转,例如`ULLU`也可以走成`URRU`、`DLLD`、`DRRD`。 马按如上规则行进的过程中经过的每一格(包括终点)都不能含有棋子,除非仅终点处的棋子是敌方的棋子,此时可以行进并吃棋。这也就是所谓的“撇马脚”。 现在玛丽欧和兄弟路易吉给了你象棋棋盘中每一个中的棋子数据,请你计算并输出棋盘中的每个马能下一步走到的位置数量。

输入格式

第一行输入包含 $n$ 、$m$ 分别表示棋盘的长、宽。$1 \le n,m \le 100$ 。 第二行一个字符串表示上述马的走法。字符串长度不超过 $100$ 。 接下来 $n$ 行每行 $m$ 个数,范围在 $0$ 到 $4$ 之间,其中: - `0` 表示该格子没有棋子。 - `1` 表示该格子有非马白棋子。 - `2` 表示该格子有非马黑棋子。 - `3` 表示该格子有白马。 - `4` 表示该格子有黑马。

输出格式

从左往右、从上往下依次输出每个马下一步走到的位置数量,用空格隔开。

说明/提示

|测试点编号|单个测试点分值|满足特殊条件| |:----:|:-----:|:----:| |# $1$ ~ $3$ | $5$ pts |$n,m \le 5$| |# $4$ | $5$ pts | 棋盘每格数据 | |# $5$ | $5$ pts | | |# $6$ ~ $10$| $15$ pts | |