Bài 6.3. Dự Báo Dịch Bệnh: Lây Lan Trong Vùng - [Độ khó: Khá]
Bài 6.3. Dự Báo Dịch Bệnh: Lây Lan Trong Vùng - [Độ khó: Khá]
Mô tả bài tập:
Trong một mô hình dự báo dịch bệnh đơn giản, một vùng đất được chia thành các ô vuông (grid). Mỗi ô vuông có thể chứa một cá thể đã nhiễm bệnh ('I'
) hoặc một cá thể khỏe mạnh ('.'
). Dịch bệnh lây lan từ cá thể nhiễm bệnh sang cá thể khỏe mạnh liền kề (trên, dưới, trái, phải). Các nhà khoa học muốn biết mức độ "nguy hiểm" của mỗi ô vuông khỏe mạnh, được định nghĩa là số lượng cá thể đã nhiễm bệnh đang ở trong các ô vuông lân cận (chỉ tính 4 hướng: trên, dưới, trái, phải, không tính ô vuông chéo).
Nhiệm vụ của bạn là tạo một bản đồ nguy hiểm cho toàn bộ vùng đất. Các ô vuông chứa cá thể nhiễm bệnh sẽ có giá trị 'I'
như ban đầu. Các ô vuông chứa cá thể khỏe mạnh sẽ được thay thế bằng một chữ số (0-4) biểu thị số lượng cá thể nhiễm bệnh lân cận.
INPUT FORMAT
Dòng đầu tiên chứa hai số nguyên R
và C
(1 <= R
, C
<= 100), lần lượt là số hàng và số cột của vùng đất.
R
dòng tiếp theo, mỗi dòng chứa C
ký tự, biểu thị trạng thái của từng ô vuông (ký tự 'I'
hoặc '.'
).
OUTPUT FORMAT
In ra bản đồ nguy hiểm với R
hàng và C
cột. Mỗi hàng phải được in trên một dòng riêng biệt.
Ví dụ:
Input:
3 4
.I.I
.I.I
....
Output:
1I2I
1I2I
0101
Giải thích:
Mỗi ô .
được thay thế bằng số lượng các ô 'I'
liền kề (trên, dưới, trái, phải):
Grid[0][0]
là.
: Lân cận làGrid[0][1]='I'
(phải) vàGrid[1][0]='.'
(dưới). Có 1I
.Grid[0][1]
làI
: Giữ nguyên.Grid[0][2]
là.
: Lân cận làGrid[0][1]='I'
(trái),Grid[0][3]='I'
(phải),Grid[1][2]='.'
(dưới). Có 2I
.Grid[0][3]
làI
: Giữ nguyên.Grid[1][0]
là.
: Lân cận làGrid[0][0]='.'
(trên),Grid[1][1]='I'
(phải),Grid[2][0]='.'
(dưới). Có 1I
.Grid[1][1]
làI
: Giữ nguyên.Grid[1][2]
là.
: Lân cận làGrid[0][2]='.'
(trên),Grid[1][1]='I'
(trái),Grid[1][3]='I'
(phải),Grid[2][2]='.'
(dưới). Có 2I
.Grid[1][3]
làI
: Giữ nguyên.Grid[2][0]
là.
: Lân cận làGrid[1][0]='.'
(trên),Grid[2][1]='.'
(phải). Có 0I
.Grid[2][1]
là.
: Lân cận làGrid[1][1]='I'
(trên),Grid[2][0]='.'
(trái),Grid[2][2]='.'
(phải). Có 1I
.Grid[2][2]
là.
: Lân cận làGrid[1][2]='.'
(trên),Grid[2][1]='.'
(trái),Grid[2][3]='.'
(phải). Có 0I
.Grid[2][3]
là.
: Lân cận làGrid[1][3]='I'
(trên),Grid[2][2]='.'
(trái). Có 1I
.
Kết quả là bản đồ nguy hiểm như trên.
Comments