can be broken down a little to make them (hopefully!) less confusing:
using CharToIntMap = map<char, int>;
CharToIntMap row[9]; // An array of 9 CharToIntMaps, called "row".
CharToIntMap col[9]; // An array of 9 CharToIntMaps, called "col".
CharToIntMap block[9]; // An array of 9 CharToIntMaps, called "block".