Miền hai màu (C.P.VNOI 2021 LMH R3)

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Prolog, Pypy, Pypy 3, Ruby, Rust, Scala, Swift
Điểm: 1800 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một bảng kích thước \(m \times n\) được chia làm lưới ô vuông đơn vị. Các hàng của bảng được đánh số từ \(1\) tới \(m\) từ trên xuống và các cột của bảng được đánh số từ \(1\) tới \(n\) từ trái qua phải. Ô nằm trên giao của hàng \(i\) và cột \(j\) được gọi là ô \((i,j)\) và ô đó cần phải tô bằng một màu có mã màu là một số nguyên \(a_{ij}\), hai màu khác nhau có mã khác nhau.

Một tập các ô của bảng được gọi là một miền nếu giữa hai ô bất kỳ của miền đó, ta có thể đi từ ô này sang ô kia bằng các phép di chuyển qua các ô kề cạnh.

Yêu cầu: Tìm một miền gồm nhiều ô nhất sao cho có thể tô màu các ô của miền bằng không quá hai màu.

Input

  • Dòng đầu chứa hai số nguyên dương \(m, n \leq 1000\)
  • \(m\) dòng tiếp theo, dòng thứ \(i\) chứa \(n\) số nguyên dương, số thứ \(j\)\(a_{ij} \leq 10^6\)

Output

  • Ghi ra một số nguyên duy nhất là số ô của miền tìm được.

Example

Test 1

Input
5 6
1 1 1 1 3 1
2 3 4 5 4 1
1 2 1 2 5 1
6 7 8 1 6 2
1 1 1 1 7 2
Output
14

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.