Bảng số đối xứng

View as PDF

Submit solution

Points: 0.50 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
HSG Thái Nguyên 2020 V1
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Xét một bảng số gồm ~m~ hàng ~n~ cột, các hàng được đánh số từ ~1~ đến ~m~ từ trên xuống, các cột được đánh số từ ~1~ đến ~n~ từ trái sang phải. Ô nằm giao giữa hàng ~i (1 \le i \le m)~, cột ~j (1 \le j \le n)~ được gọi là ô ~(i,j)~ và chứa số nguyên không âm ~a_ij~. Bảng số được gọi là đối xứng nếu mỗi hàng, mỗi cột đều là một dãy số đối xứng. Một dãy số được gọi là đối xứng nếu đọc dãy từ đầu dãy đến cuối dãy cũng giống như đọc từ cuối dãy về đầu.

Yêu cầu: Cho bảng số, hãy tính số lượng ô ít nhất cần thay đổi giá trị để nhận được bảng số đối xứng.

Dữ liệu:

  • Dòng đầu là hai số nguyên ~m~ và ~n~;
  • Tiếp theo là ~m~ dòng, mỗi dòng chứa ~n~ số nguyên không âm mô tả bảng số. Các số không vượt quá ~10^6~.

Kết quả:

  • Ghi ra một số nguyên là số lượng ô ít nhất cần thay đổi giá trị để nhận được bảng số đối xứng.

Ràng buộc:

  • Có ~50\%~ số test của bài có ~m=1;n \le 1000~;
  • Có ~50\%~ số test còn lại của bài có ~m \le 1000;n \le 1000~.

Ví dụ:

Sample Input 1
1 5
1 2 3 4 5
Sample Output 1
2

### Sample Input 2

3 3
3 2 1
2 2 2
1 4 5
Sample Output 2
3


Comments

Please read the guidelines before commenting.


There are no comments at the moment.