Phần phía bắc của Kim tự tháp chứa một mê cung rất lớn và phức tạp. Mê cung được chia thành các khối vuông, mỗi trong số họ hoặc điền bằng đá, hoặc miễn phí. Ngoài ra còn có một chút móc trên sàn nhà trong trung tâm của tất cả các khối miễn phí. ACM đã tìm thấy rằng hai trong số các móc phải được nối với nhau bằng một sợi dây thừng chạy qua móc trong mỗi khối trên con đường giữa những người được kết nối. Khi sợi dây thừng được buộc chặt, một cánh cửa bí mật mở ra. Vấn đề là chúng ta không biết mà móc để kết nối. Điều đó cũng có nghĩa là độ dài cần thiết của sợi dây là không rõ. Nhiệm vụ của bạn là để xác định độ dài tối đa của sợi dây, chúng tôi cần cho một cho mê cung.
Đầu vào
Đầu vào bao gồm các trường hợp thử nghiệm T. Số lượng của chúng (T) được đưa ra trên dòng đầu tiên của file đầu vào. Mỗi trường hợp thử nghiệm bắt đầu với một dòng chứa hai số nguyên C và R (3 <= C, R <= 1000) cho thấy số lượng các cột và các hàng. Sau đó, chính xác R dòng tiếp theo, mỗi nhân vật có chứa C. Những ký tự chỉ định trong mê cung. Mỗi trong số họ hoặc là một dấu thăng (#) hoặc dấu chấm (.). Dấu băm đại diện cho các loại đá, thời gian là một khối miễn phí. Có thể đi bộ giữa các khối lân cận chỉ, nơi khối lân cận là các khối chia sẻ một phụ thường gặp. Chúng tôi không thể đi bộ theo đường chéo và chúng tôi không thể bước ra khỏi mê cung.
Mê cung được thiết kế theo một cách mà có đúng một con đường giữa hai khối miễn phí. Do đó, nếu chúng ta tìm thấy các móc thích hợp để kết nối, nó rất dễ dàng để tìm ra con đường bên phải kết nối chúng.
Output
Chương trình của bạn phải in đúng một dòng đầu ra cho từng trường hợp thử nghiệm. Dòng phải có câu "chiều dài dây tối đa là X." nơi Xis chiều dài của con đường dài nhất giữa bất kỳ hai khối miễn phí, được đo bằng khối.
đang được dịch, vui lòng đợi..