If left sub - string is found in the map and the right sub - string can be made from the strings from the given array
if ( mp . find ( left ) != mp . end ( ) && mp [ left ] == 1 && canbuildword ( right , 0 , mp ) ) { return true ; } }