#38521: 使用C的解題


HuangNO1 (雷姆醬)


這題需要思考到使用遞歸將+以外連起來的區塊都變成+,掌握好邊界值

像是如下關鍵偽代碼

void 著色(char **N, int len, int row, int col) {
    if (檢查row和col在N的邊長0-len的範圍值內)
    {
        if (如果N[row][col] == '-')
        {
            把N[row][col] 變成 '+';
        }
        
        if (row + 1 < len && N[row + 1][col] != '+')
        {
            color(N, len, row+1, col);
        }
        if (row - 1 > 0 && N[row - 1][col] != '+')
        {
            color(N, len, row-1, col);
        }
        if (col + 1 < len && N[row][col + 1] != '+')
        {
            color(N, len, row, col+1);
        }
        if (col - 1 > 0 && N[row][col - 1] != '+')
        {
            color(N, len, row, col-1);
        }
    }
}