QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100

#15663. 滚骰子谜题

統計

Sarina 和她的哥哥 Soroush 正在玩一个滚骰子的游戏。游戏在一个 $n \times m$ 的网格棋盘上进行。最初,Soroush 将一个标准的骰子放在其中一个格子中。放置的方式是:上面(顶面)为数字 $6$,北面为数字 $4$,西面为数字 $2$。在一个标准骰子中,$6$ 的对面是 $1$,$2$ 的对面是 $5$,$3$ 的对面是 $4$。此外,他选择了一些格子,并在其中写下了 $1$ 到 $6$ 之间的任意整数。

之后,Sarina 必须通过多次滚动骰子在棋盘上移动它。滚动的定义如下:假设两个相邻的格子 $A$ 和 $B$ 共享一条边 $e$,且骰子位于格子 $A$;骰子可以绕着与 $e$ 相邻的边滚动,并从 $A$ 移动到 $B$。例如,考虑骰子的初始位置。如果骰子分别向东、西、北、南四个方向滚动(即绕着东、西、北、南边滚动),滚动后朝上的面上的数字将分别为 $2$、$5$、$3$ 和 $4$。

每当 Sarina 将骰子移动到一个写有数字的格子,且骰子朝上的面上的数字与该格子中的数字相匹配时,她就会获得一个积分。注意,Sarina 从每个格子中最多只能获得一次积分。游戏并没有那么简单!某些格子中存在障碍物,无法将骰子移动到有障碍物的格子中。你的任务是求出 Sarina 最多可以获得多少积分。

输入格式

输入的第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 100$),分别表示棋盘的行数和列数。

接下来的 $n$ 行,每行包含 $m$ 个字符,描述棋盘。

  • 空格子用 . 表示;
  • 障碍物用 x 表示;
  • 骰子的起始位置用 s 表示;
  • 被选择的格子用其中写入的整数(从 16)表示。

保证输入中恰好只有一个 s

输出格式

输出一行,包含 Sarina 最多可以获得的积分数。

样例

输入样例 1

3 4
.23s
4.2x
xx.1

输出样例 1

5

输入样例 2

2 2
4s
22

输出样例 2

1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.