It's an array of arrays (two dimensional array) with
matrix[i][j] pointing to a hash with defined keys (score and pointer). Arrays of arrays (denoted AoA) and hashes of hashes (HoH) are pretty useful and I use them constantly. I'd say it was a good way to keep everything in one data structure while maintaining speed and readability of the code.