Thay thế số 0

Xem PDF

Điểm: 600 Thời gian: 5.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một bảng \(A\) có kích thước \(N \times N\) \((N ∈ \mathbb{N^*})\)

Khoảng cách giữa hai phần tử \(A[i][j]\)\(A[p][q]\) được định nghĩa là \(|i−p|+|j−q| (1 \leq i,j,p,q \leq N)\).

(Chú ý: \(A[i][j]\) có nghĩa là phần tử ở hàng thứ \(i\) và cột thứ \(j\))

Yêu cầu: Viết chương trình thay thế mỗi phần tử \(0\) trong bảng \(A\) thành phần tử khác \(0\) và gần với nó nhất. Nếu có hai (hoặc nhiều hơn) phần tử khác \(0\) và gần với nó nhất thì giữ nguyên giá trị \(0\).

Input

  • Dòng duy nhất chứa số nguyên dương \(N\)
  • \(N\) dòng tiếp theo, mỗi dòng chứa \(N\) phần tử thể hiện giá trị các phần tử trong bảng, biết rằng mỗi phần tử trong bảng là một số nguyên không âm, và không lớn hơn \(10^6\).

Output

  • In ra bảng sau khi biến đổi

Example

Test 1

Input
3
0 0 0
7 0 3
0 5 0 
Output
7 0 3
7 0 3
0 5 0
Note
  • Ta có: \(A[1][1]=0\). Và chỉ có \(1\) số duy nhất khác \(0\) và gần với nó nhất đó là \(A[2][1]=7\). Do đó ta gán \(A[1][1]=7\).

  • Tiếp theo, ta có: \(A[1][2]=0\). Và có tới ba số khác \(0\) và gần với nó nhất đó là \(A[2][1]=7\); \(A[2][3]=3\)\(A[3][2]=5\). Nên nó vẫn giữ nguyên giá trị 00. (Ở đây ta không tính \(A[1][1]\) là số khác không và gần với \(A[1][2]\) nhất vì \(A[1][1]\) bản chất nguyên thủy nó là \(0\))

  • Tương tự cho các phần tử \(0\) còn lại ta sẽ thu được kết quả cần tìm.


Bình luận


  • -6
    BETTER    11:32 a.m. 8 Tháng 2, 2021 đã chỉnh sửa

    Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

    1 phản hồi