#AT2574. B - Find snuke
B - Find snuke
当前没有测试数据。
B - 找到snuke
得分:250分
问题描述
有一个$H$行$W$列的网格。每个单元格上都写着一个小写英文字母。 我们用$(i, j)$表示从上到下第$i$行,从左到右第$j$列的单元格。
网格上的字母用$H$个字符串$S_1,S_2,\ldots, S_H$表示,每个字符串长度为$W$。 $S_i$的第$j$个字母表示$(i, j)$上的字母。
在网格上存在一个唯一的连续的集合(沿着垂直、水平或对角线方向),其中依次写有s
、n
、u
、k
和e
。
找到这样单元格的位置,并按照输出部分的格式打印出来。
当且仅当满足以下所有条件时,五个单元格$(A_1,A_2,A_3,A_4,A_5)$被称为连续的集合(沿着垂直、水平或对角线方向),并依次写有s
、n
、u
、k
和e
。
- 对于所有的$1\leq i\leq 4$,单元格$A_i$和$A_{i+1}$共享一个角或一条边。
- 单元格$A_1,A_2,A_3,A_4$和$A_5$的中心在一条常规间距的直线上。
约束条件
- $5\leq H\leq 100$
- $5\leq W\leq 100$
- $H$和$W$为整数。
- $S_i$是长度为$W$的由小写英文字母组成的字符串。
- 给定的网格有一个符合要求的唯一单元格集合。
输入
输入以以下格式从标准输入中给出:
输出
按照以下格式打印五行。
设$(R_1,C_1),(R_2,C_2)\ldots,(R_5,C_5)$是所需集合中写有s
, n
, u
, k
和e
的单元格。
第$i$行应按照以下顺序包含$R_i$和$C_i$,并用空格隔开。
换句话说,按以下格式打印:
``` $R_1$ $C_1$ $R_2$ $C_2$ $\vdots$ $R_5$ $C_5$ ```具体示例请参见下面的示例输入和输出。
6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj
5 2
5 3
5 4
5 5
5 6
元组$(A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6))$满足条件。
实际上,它们上面写的字母分别是s
, n
, u
, k
和e
;
对所有$1\leq i\leq 4$,单元格$A_i$和$A_{i+1}$共享一个边;
并且这些单元格的中心在一条公共直线上。
5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs
5 5
4 4
3 3
2 2
1 1
元组$(A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1))$满足条件。
然而,仅仅 $(A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1))$违反了第三个条件,因为这些单元格的中心不在一条公共直线上,尽管它满足了第一和第二个条件。
10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk
9 3
8 3
7 3
6 3
5 3