Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 302 B問題 Find snuke

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

 H W 列のマス目があり,  (i,j) には英小文字  S_{i,j} が書かれている.

このとき,  {\tt s}, {\tt n}, {\tt u}, {\tt k}, {\tt e} が この順に(縦, 横, 斜めの  8 方向どれか) に一直線上に連続して並んでいる場所がただ  1 つ存在します.

その一直線上に連続して並んでいる場所を求めよ.

制約

  •  5 \leq H \leq 100
  •  5 \leq W \leq 100
  •  S_{i,j} は英小文字
  • 条件を満たす場所が唯一存在する.

解法

  {\tt snuke} の開始場所と  8 方向を全探索しても, 候補は高々  8HW 個であり,  {\tt snuke} 5 文字であるから, 範囲外参照に注意して実装すれば良い.