また質問しても宜しいでしょうか(´・ω・`)
★36行目の!valid_position(src)のビックリマークは否定を表している
 即ち値が0のことを示しているのでしょうか。
★42行目のdist[i][j] = (grid[i][j] == '.' ? MAX_X*MAX_Y : 0);
 がどういう操作がなされているのかが分かりません。
 ?は何の意味でしょうか??
教えて下さいm(__)m