13.6 枚舉鄰格與範圍

射線是「一直走」,鄰格是「只看旁邊」。把方向表整圈跑一遍,每個方向只看一格,就是枚舉所有鄰格;每個鄰格都要過 inside 這一關,因為邊角格的鄰格會出界。

for (int d = 0; d < 4; d++) {              // 四鄰格;換成 8 就是八鄰格
    int nr = r + dr[d], nc = c + dc[d];
    if (!inside(nr, nc)) continue;         // 出界的不是鄰格
    // 處理 (nr, nc)
}

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。