Word Puzzles (UVa Live Archive Europe - Southwestern - 2002/2003 Porto (Portugal))

http://acmicpc-live-archive.uva.es/nuevoportal/data/problem.php?p=2684

問題

L*Cのサイズの文字列とW個のパターンが与えられる。L*Cの文字列を縦、横、斜めの8方向どの方向から見ても良いのでパターンを探し出す。各パターンの出現位置を一つ求めよ。
0

解法

各方向から見た時の文字列を作りAho-Corasickでパターンを検索する。UVa Live Archiveだとstrstrでも間に合ってしまう。