Viết chương trình hoặc hàm có trong một chuỗi nhiều dòng của 0
's và 1
'. Không nhân vật khác sẽ nằm trong chuỗi và chuỗi sẽ luôn là hình chữ nhật (tất cả các dòng sẽ có cùng một số nhân vật), với kích thước nhỏ như 1 × 1, nhưng nếu không thì 0
's và 1
' s có thể được sắp xếp tùy tiện.
Bạn có thể giả sử chuỗi có một dòng mới tùy chọn và nếu muốn, bạn có thể sử dụng bất kỳ hai ký tự ASCII có thể in riêng biệt nào thay cho 0
và 1
.
In hoặc trả về một giá trị trung thực nếu tất cả các vùng được kết nối của cả hai 0
và 1
trong chuỗi là hình chữ nhật liền khối , mặt khác tạo ra giá trị sai .
Một con đường kết nối khu vực của 0
'có nghĩa là s mà từ bất kỳ một 0
trong khu vực, tất cả các khác 0
' s có thể đạt được bằng cách chỉ di chuyển lên, xuống, sang trái và phải để khác 0
's (và không di chuyển theo đường chéo, không di chuyển đến bất kỳ 1
, và không di chuyển ngoài giới hạn chuỗi). Ý tưởng tương tự áp dụng cho 1
các vùng kết nối đường dẫn.
Một hình chữ nhật rắn của 0
's phương tiện toàn bộ diện tích của hình chữ nhật được làm đầy với 0
' s và không có 1
's. Ý tưởng tương tự áp dụng cho 1
hình chữ nhật rắn.
Mã ngắn nhất tính bằng byte thắng. Tiebreaker là câu trả lời trước đó.
(Lưu ý rằng chuỗi không quấn quanh với các điều kiện biên hình xuyến .)
Ví dụ
1) Chuỗi đầu vào này có 3 vùng được kết nối đường dẫn (2 cho 0
và 1 cho 1
). Chỉ có vùng dưới cùng bên phải 00
là một hình chữ nhật chắc chắn, vì vậy đầu ra sẽ là giả.
0011
0111
0100
2) Chuỗi đầu vào này có 4 vùng kết nối đường dẫn (2 cho cả hai 0
và 1
). Tất cả chúng đều là hình chữ nhật chắc chắn nên đầu ra sẽ là sự thật.
0011
0011
1100
3) Đầu vào này có 2 vùng được kết nối đường dẫn, nhưng chỉ một trong số chúng là một hình chữ nhật chắc chắn, vì vậy đầu ra sẽ bị sai lệch.
00000000
01111110
00000000
4) Đầu vào này chỉ có 1 vùng kết nối đường dẫn và tầm thường là một hình chữ nhật chắc chắn, vì vậy đầu ra là trung thực.
11111111
11111111
11111111
Các trường hợp thử nghiệm
Một T
ngay bên dưới chuỗi đầu vào có nghĩa là trung thực, F
có nghĩa là giả.
0
T
1
T
00
T
01
T
10
T
11
T
0000000
T
1111111
T
011100100100101100110100100100101010100011100101
T
00
11
T
01
10
T
01
11
F
00
01
F
11
11
T
110
100
F
111
000
T
111
101
111
F
101
010
101
T
1101
0010
1101
0010
T
1101
0010
1111
0010
F
0011
0111
0100
F
0011
0011
1100
T
00000000
01111110
00000000
F
11111111
11111111
11111111
T
0000001111
0000001111
T
0000001111
0000011111
F
0000001111
1000001111
F
1000001111
1000001111
T
1110100110101010110100010111011101000101111
1010100100101010100100010101010101100101000
1110100110010010110101010111010101010101011
1010100100101010010101010110010101001101001
1010110110101010110111110101011101000101111
F