やっと分かったぞdj

他の問題はいくつか考え中で、未解決なのだけど、かねてからの懸案だった
Problem81をようやっと片付けた。

結局のところ、djが完全に理解できているかどうかという話なんだけど、以前は挫折していた。
だってさ、どこを見ても、説明が分かりづらいのなんのって。
(=>だったらお前が書け?=>前向きに検討させていただきます)

簡単に解法を言えば、(今回の問題の場合)
matrixと同じサイズの空の(中身が入っていてもいいけど)djmatrix(djのmatrixなので
djmatrix)を用意する。
(このサイズは80x80になる)
djmatrix[0][0]は始点なので、ここのみ、matrix[0][0]と値は同じ
djmatrix[x][0]はmatrix[x-1][0](上方向の値)+matrix[x][0]
djmatrix[0][y]はmatrix[0][y-1](左隣方向の値)+matrix[0][y]
djmatrix[x][y]は(matrix[x][y-1](左隣方向の値)+matrix[x][y]またはmatrix[x-1][y](上方向の値)+matrix[x][y]の小さい方) #(x!=0 y!=0)
これをひたすらループで計算して埋めていく(といえ、一瞬だけど)
最終的にdjmatrix[79][79]が求める答え、で、いいはずだ。
(少なくとも、例題および、本題はこれで答えが合っている)

djの基本理念は全体最適解は部分最適解を必ず含んでいるということなんだけど、
これをちゃんと理解できていなかったんだな。

さて、P82およびP83はこれをどのように活用していくかなんだろうなぁ。