atcoder#ABC302B. [ABC302B] Find snuke
[ABC302B] Find snuke
配点 : 点
問題文
縦 マス 横 マスのマス目があり、各マスに つずつ英小文字が書き込まれています。 上から 行目かつ左から 列目のマスを で表します。
マス目に書き込まれている英小文字は 個の長さ の文字列 によって与えられ、 の 文字目が、 に書き込まれた英小文字を表します。
マス目の中に、s
, n
, u
, k
, e
が
この順に(縦・横・ななめのいずれかの方向に) 連続して並んでいる
場所がただ つ存在します。
そのような場所を見つけ、そのマスの位置を出力の形式に従って出力してください。
ただし、s
, n
, u
, k
, e
が
この順に(縦・横・ななめのいずれかの方向に) 連続して並んでいる場所とは、
つのマスの組 であって、次をすべてみたすものをさします。
- に書き込まれた英小文字はそれぞれ
s
,n
,u
,k
,e
である。 - について、 と は頂点または辺を共有している。
- の中心はこの順に一直線上に等間隔で並んでいる。
制約
- は整数
- は英小文字のみからなる長さ の文字列
- 与えられるマス目の中に条件をみたす場所がただ つ存在する
入力
入力は以下の形式で標準入力から与えられる。
出力
次の形式にしたがって、 行出力せよ。
条件をみたす場所のうち s
, n
, u
, k
, e
が書かれたマスがそれぞれ であるとき、
行目には と をこの順に空白区切りで出力せよ。
すなわち、以下のように出力せよ。
以下の入力例も参考にせよ。
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
であり、
について、 と は辺を共有しており、
各マスの中心は一直線上に存在するため、条件をみたしています。
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