#abc302b. [abc302_b]Find snuke

[abc302_b]Find snuke

问题描述

有一个具有 HH 行和 WW 列的网格。每个单元格上都写着一个小写英文字母。我们用 (i,j)(i, j) 表示从上到下的第 ii 行和从左到右的第 jj 列的单元格。

网格上写下的字母由 HH 个字符串 S1,S2,,SHS_1, S_2, \ldots, S_H 表示,每个字符串的长度为 WWSiS_i 的第 jj 个字母表示 (i,j)(i, j) 上的字母。

在网格中有一组唯一的连续单元格(垂直、水平或对角线方向),它们上面依次写着 s, n, u, k, 和 e。找到这些单元格的位置,并按照输出部分指定的格式打印出来。

称五个单元格的元组 (A1,A2,A3,A4,A5)(A_1, A_2, A_3, A_4, A_5) 形成了一组以 s, n, u, k, 和 e 依次写在上面的连续单元格(垂直、水平或对角线方向),当且仅当满足以下所有条件:

  • A1,A2,A3,A4A_1, A_2, A_3, A_4A5A_5 上分别写着 s, n, u, k, 和 e
  • 对于 1i41 \leq i \leq 4,单元格 AiA_iAi+1A_{i+1} 共享一个角或一条边。
  • A1,A2,A3,A4A_1, A_2, A_3, A_4A5A_5 的中心在一条公共线上并且间隔相等。

约束条件

  • 5H1005 \leq H \leq 100
  • 5W1005 \leq W \leq 100
  • HHWW 是整数。
  • SiS_i 是一个长度为 WW 的由小写英文字母组成的字符串。
  • 给定的网格有一组唯一的符合要求的单元格。

输入

输入以以下格式从标准输入中给出:

HH WW S1S_1 S2S_2 \vdots SHS_H

输出

按照以下格式输出五行。

(R1,C1),(R2,C2),,(R5,C5)(R_1, C_1), (R_2, C_2), \ldots, (R_5, C_5) 是被寻找的集合中的单元格,其中分别写着 s, n, u, k, 和 e。第 ii 行应该按照这个顺序打印出 RiR_iCiC_i,用一个空格分隔。

换句话说,按照以下格式打印:

R1R_1 C1C_1 R2R_2 C2C_2 \vdots R5R_5 C5C_5

参见下面的示例输入和输出。


示例输入 1

6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj

示例输出 1

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
对于所有 1i41 \leq i \leq 4,单元格 AiA_iAi+1A_{i+1} 共享一条边;
而且这些单元格的中心在一条公共线上。


示例输入 2

5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs

示例输出 2

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))$ 违反了第三个条件,因为这些单元格的中心不在一条公共线上,尽管它满足第一和第二个条件。


示例输入 3

10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk

示例输出 3

9 3
8 3
7 3
6 3
5 3