Đề bài
Xem bản gốc (English)Lưới chứa 1 cho ô đất và 0 cho ô nước. Mỗi ô đất là một hình vuông 1×1. Hãy tính tổng chu vi của tất cả các ô đất: mỗi cạnh của ô đất tiếp giáp với nước hoặc cạnh ngoài của lưới đều được tính là 1.
Cài đặt hàm island_perimeter(grid).
Đầu vào
grid: Một lưới hình chữ nhật gồm các số 0 và 1.
Đầu ra
Trả về tổng chu vi.
Ràng buộc
0 ≤ số hàng, số cột ≤ 200
Ví dụ
Đầu vào:
grid = [
[0, 1, 0, 0],
[1, 1, 1, 0],
[0, 1, 0, 0],
[1, 1, 0, 0]
]
Kết quả mong đợi:
expected = 16
Đầu vào:
std::vector<std::vector<long long>> grid = {
{0, 1, 0, 0},
{1, 1, 1, 0},
{0, 1, 0, 0},
{1, 1, 0, 0}
};
Kết quả mong đợi:
long long expected = 16;
Đầu vào:
long[][] grid = new long[][] {
new long[] {0, 1, 0, 0},
new long[] {1, 1, 1, 0},
new long[] {0, 1, 0, 0},
new long[] {1, 1, 0, 0}
};
Kết quả mong đợi:
long expected = 16;
Giải thích
Có 7 ô đất với tổng 28 cạnh; 6 cạnh chung loại bỏ 12: chu vi là 16.
Đầu vào:
grid = [
[1]
]
Kết quả mong đợi:
expected = 4
Đầu vào:
std::vector<std::vector<long long>> grid = {
{1}
};
Kết quả mong đợi:
long long expected = 4;
Đầu vào:
long[][] grid = new long[][] {
new long[] {1}
};
Kết quả mong đợi:
long expected = 4;
Giải thích
Một ô đất đơn lẻ có 4 cạnh.
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.