Mảnh đất xây nhà

Đề bài

Mô tả

Khu vườn của Vasya là một lưới ô vuông kích thước N×M, mỗi ô có cạnh dài 1. Trên một số ô có trồng cây (mỗi ô nhiều nhất một cây).

Vasya muốn chọn một mảnh đất hình chữ nhật kích thước a×b ô để xây nhà, với các cạnh nằm dọc theo đường lưới. Mọi cây nằm trong mảnh đất đó sẽ phải bị chặt.

Mảnh đất có thể được đặt theo cả hai hướng: cạnh dài a có thể song song với cạnh dài N của khu vườn, hoặc song song với cạnh dài M. Nói cách khác, mảnh đất có thể là a×b hoặc b×a.

Hãy tìm số cây ít nhất phải chặt.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên NM.
  • N dòng tiếp theo, mỗi dòng chứa M số 0 hoặc 1: giá trị 1 nghĩa là ô đó có cây, 0 nghĩa là không có.
  • Dòng cuối chứa hai số nguyên ab.

Dữ liệu đảm bảo luôn tồn tại ít nhất một cách đặt mảnh đất, tức là aNbM, hoặc aMbN.

Dữ liệu ra

In ra một số nguyên duy nhất: số cây ít nhất phải chặt.

Ràng buộc

  • 1N,M50
  • 1a,b50

Ví dụ

Input Output Giải thích
2 2
1 0
1 1
1 1
0 Mảnh đất 1×1 đặt tại ô (1,2) không có cây nào.
4 5
0 0 1 0 1
0 1 1 1 0
1 0 1 0 1
1 1 1 1 1
2 3
2 Đặt mảnh đất theo hướng 3×2 (xoay lại), góc trên trái là (1,1) và góc dưới phải là (3,2), chỉ có 2 cây bên trong.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0