DHBB 2018 - CLS - 11 - Lâu đài

Xem dạng PDF

Gửi bài giải

Điểm: 40,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Một toà lâu đài hình chữ nhật kích thước ~m \times n~ được chia thành lưới ô vuông đơn vị. Các dòng từ trên xuống được đánh số từ ~1~ tới ~m~, các cột từ trái qua phải được đánh số từ ~1~ tới ~n~. Quanh mỗi ô có thể có từ ~0~ tới ~4~ bức tường. Mỗi bức tường có chiều dài là ~1~ đơn vị và chiều rộng là ~0{,}2~ đơn vị. Quanh lâu đài có tường bao bọc. Để thể hiện tình trạng tường quanh một ô, ta gán cho mỗi ô một số nguyên, mà trong biểu diễn nhị phân của số nguyên đó:

  • Bít ~0~ bằng ~1~ hay ~0~ tuỳ theo ô đó có tường hay không có tường hướng Tây

  • Bít ~1~ bằng ~1~ hay ~0~ tuỳ theo ô đó có tường hay không có tường hướng Bắc

  • Bít ~2~ bằng ~1~ hay ~0~ tuỳ theo ô đó có tường hay không có tường hướng Đông

  • Bít ~3~ bằng ~1~ hay ~0~ tuỳ theo ô đó có tường hay không có tường hướng Nam

Ví dụ, ta có một lâu đài ~3 \times 4~:

  • Tình trạng tường của ô ~(2, 2)~ được thể hiện bởi số ~3_{10} = 0011_2~

  • Tình trạng tường của ô ~(1, 3)~ được thể hiện bởi số ~11_{10} = 1011_2~

Lâu đài được chia thành các phòng, các phòng phân cách nhau bởi các bức tường. Hãy lập chương trình trả lời các câu hỏi sau:

  1. Cho biết lâu đài có bao nhiêu phòng?

  2. Cho biết diện tích của phòng rộng nhất?

  3. Nếu được phá đi một và chỉ một bức tường thì được phòng có diện tích lớn nhất là bao nhiêu?

Input

  • Dòng ~1~: Ghi hai số ~m, n~ ~(1 \le m, n \le 100)~

  • ~m~ dòng tiếp theo, dòng thứ ~i~ ghi ~n~ số nguyên, số thứ ~j~ thể hiện tình trạng tường quanh ô ~(i, j)~

Dữ liệu vào bảo đảm tình trạng có tường tại các ô kề cạnh là không mâu thuẫn nhau và có ít nhất ~2~ phòng, các số trên một dòng được ghi cách nhau ít nhất một dấu cách.

Output

  • Dòng ~1~: Ghi số phòng;

  • Dòng ~2~: Ghi diện tích của phòng rộng nhất;

  • Dòng ~3~: Ghi diện tích của phòng rộng nhất thu được sau khi phá tường.

Kết quả câu ~2~ và câu ~3~ ghi theo quy cách gồm ~2~ chữ số sau dấu chấm thập phân

Sample Input 1

2 1
15
15

Sample Output 1

2
0.64
1.44

Sample Input 2

3 4
3 14 11 6
13 3 14 5
11 12 11 12

Sample Output 2

3
3.86
7.10

Bình luận

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


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