Problem 8と似たような問題
変わったのは要素が2桁になったこと、上下左右斜めに調べなきゃいけないことの2点。
解答は最大でも99^4になることは明らかであり
99^4 < 128^4 = ( 2^7 )^4 = 2^28 < 2^32
であることから32bit整数にも収まってしまう。
「上下左右斜めに調べる」ってのはプログラム的な問題ではあるけど、数学的な問題では無いと思う。
多次元配列をサポートしている言語であれば上下左右斜めに走査するのは難しくないし、1次元のみの配列しかサポートしていない言語であっても、擬似的に2次元のようにアクセスしてしまえば同じ話。
問題文では8方向に走査して調べるかのように書いてあるけど、積なので右方向に調べれば左方向は調べる必要は無い。
ちなみに、自分は実装時に右・下・右下の3方向のみ走査して誤答してしまった。