Trò chơi kỳ lạ trên ma trận
Đề bài
Mô tả
Cho ma trận gồm hàng và cột, mỗi phần tử là hoặc . Hàng và cột được đánh số từ .
Bạn được phép thay một số ô mang giá trị trong ma trận thành (số ô thay là tùy ý, có thể không thay ô nào). Sau khi thay xong, điểm số được tính như sau:
- Ban đầu điểm số bằng .
- Với mỗi cột , tìm ô mang giá trị nằm cao nhất, tức là hàng nhỏ nhất thỏa mãn . Nếu cột không còn ô nào mang giá trị thì bỏ qua cột này.
- Xét ô liên tiếp trong cột tính từ ô vừa tìm được, tức là các hàng , rồi đếm số ô mang giá trị trong đó. Cộng số đếm được vào điểm số.
Hãy tìm điểm số lớn nhất có thể đạt được, và trong tất cả các cách thay đạt được điểm số lớn nhất đó, hãy tìm số ô bị thay ít nhất.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , .
- dòng tiếp theo, dòng thứ chứa số nguyên là các phần tử của hàng thứ của ma trận. Mỗi số là hoặc .
Dữ liệu ra
Một dòng chứa hai số nguyên: điểm số lớn nhất có thể đạt được và số ô cần thay ít nhất để đạt được điểm số đó.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 2 0 1 0 1 0 1 0 1 0 1 1 1 |
4 1 | Thay thành . Khi đó cột có ô cao nhất ở hàng , cửa sổ gồm hàng và cho điểm. Cột có ô cao nhất ở hàng , cửa sổ gồm hàng và cho điểm. Cột cho điểm tương tự cột . Tổng là điểm với ô bị thay. Nếu không thay ô nào thì cột chỉ cho điểm, tổng chỉ là . |
| 3 2 1 1 0 0 1 0 0 |
2 0 | Vì nên mỗi cột luôn cho đúng điểm nếu cột đó còn ít nhất một ô mang giá trị . Không cần thay ô nào. |
Bình luận