Hình vuông 0 1

Xem dạng PDF

Gửi bài giải


Điểm: 0,11 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Ðược add lên bởi Võ Khánh Trung
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho một bảng kích thước ~M \times N~, được chia thành lưới ô vuông đơn vị ~M~ dòng ~N~ cột ~(1 \le M~, ~N \le 1000)~

Trên các ô của bảng ghi số ~0~ hoặc ~1~. Các dòng của bảng được đánh số ~1~, ~2~ ...~M~ theo thứ tự từ trên xuống dưới và các cột của bảng được đánh số ~1~, ~2~ ..., ~N~ theo thứ tự từ trái qua phải

Yêu cầu:

Hãy tìm một hình vuông gồm các ô của bảng thoả mãn các điều kiện sau:

  1. Hình vuông là đồng nhất: tức là các ô thuộc hình vuông đó phải ghi các số giống nhau ~(0~ hoặc ~1)~
  2. Cạnh hình vuông song song với cạnh bảng.
  3. Kích thước hình vuông là lớn nhất có thể

Input

Dòng ~1~: Ghi hai số ~M~, ~N~

~M~ dòng tiếp theo, dòng thứ ~i~ ghi ~N~ số mà số thứ ~j~ là số ghi trên ô ~(i~, ~j)~ của bảng

Output

Gồm 1 dòng duy nhất ghi kích thước cạnh của hình vuông tìm được

Sample Input

11 13
0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 1 1 1 1 1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 1 1 1 0 0
0 1 1 1 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1
0 0 0 0 0 1 0 0 0 0 0 1 1

Sample Output

7

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 1
    pppssslc  đã bình luận lúc 18, Tháng 4, 2025, 15:38 sửa 5
    Spoil!!!

    Vì ko thấy ai dùng binary search nên mình xin chia sẻ.

    • Tạo 1 prefix sum 2 chiều để thuận tiện cho việc kiểm tra các ô vuông.
    • Dùng binary search kiểm tra các độ dài cạnh, nếu có hình vuông có độ dài cạnh tương ứng thỏa mãn điều kiện đề bài thì tăng lên và ngược lại.
    • Tại mỗi độ dài cạnh đang kiểm tra, kiểm tra từng ô vuông, sử dụng prefix sum vừa tạo để tối ưu cho việc kiểm tra.

    Độ phức tạp: O(n^2*log(n)).
    Code:

    https://pastebin.com/xX1uneTA

    Lần đầu viết sol có gì sai sót mong mọi người góp ý.😁


  • -1
    nguyenthingoc22031969  đã bình luận lúc 13, Tháng 3, 2025, 12:33

    test cuối bài này bị j thế


  • -20
    danglebinhnguyen2014  đã bình luận lúc 9, Tháng 12, 2024, 5:35

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -17
    Cuunon311  đã bình luận lúc 9, Tháng 10, 2023, 12:47

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 76
    HV_DuongPhucThienNhan_BL_2022  đã bình luận lúc 28, Tháng 1, 2022, 15:55 sửa 2

    Lời giải ở đây:

    https://vietcodes.github.io/code/161/index.html

    Please don't downvote me:(