JOI 2009 - Thin Ice
Xem PDFVào một ngày đông lạnh giá, JOI Taro quyết định chơi trò đập lớp băng mỏng phủ trên một quảng trường. Quảng trường có dạng hình chữ nhật, được chia thành \(m\) cột theo hướng đông–tây và \(n\) hàng theo hướng bắc–nam, tạo thành \(m\times n\) ô. Một số ô có băng mỏng, những ô khác không có băng.
Taro di chuyển và đập băng theo các quy tắc sau:
- Có thể bắt đầu tại bất kỳ ô nào có băng và đập băng ở ô đó.
- Từ ô hiện tại, chỉ có thể đi sang một ô kề cạnh về phía đông, tây, nam hoặc bắc, có băng chưa bị đập.
- Khi đến một ô, phải đập băng ở ô đó.
Yêu cầu
Hãy tìm số ô lớn nhất mà Taro có thể đi qua trong một lượt chơi, tính cả ô bắt đầu.
Dữ liệu vào
Đọc từ đầu vào chuẩn \(n+2\) dòng:
- Dòng đầu chứa số nguyên \(m\), là số cột.
- Dòng thứ hai chứa số nguyên \(n\), là số hàng.
- \(n\) dòng tiếp theo, mỗi dòng chứa \(m\) số nguyên \(0\) hoặc \(1\), cách nhau bởi dấu cách.
Gọi \((i,j)\) là ô ở hàng thứ \(i\) tính từ phía bắc và cột thứ \(j\) tính từ phía tây. Số thứ \(j\) trên dòng thứ \(i+2\) bằng \(1\) nếu ô \((i,j)\) có băng, và bằng \(0\) nếu ô đó không có băng.
Dữ liệu ra
Ghi ra đầu ra chuẩn một số nguyên, là số ô lớn nhất có thể đi qua.
Ràng buộc
- \(1\le m\le90\).
- \(1\le n\le90\).
- Mỗi ô được mô tả bằng \(0\) hoặc \(1\).
- Trong mỗi bộ dữ liệu, số cách di chuyển theo các quy tắc trên không vượt quá \(200\,000\).
Ví dụ
Ví dụ 1
Input
3
3
1 1 0
1 0 1
1 1 0
Output
5
Ví dụ 2
Input
5
3
1 1 1 0 1
1 1 0 0 0
1 0 0 0 1
Output
5
Năm hình sau minh họa một đường đi qua năm ô băng của ví dụ 2, theo thứ tự từng bước:
Kỳ thi:
- JOI 2008/2009 - Vòng sơ khảo (14 Tháng 12., 2008)







Bình luận