Trong khi chúng tôi đang ở trên một lưới tam giác đá , tôi muốn chỉ ra rằng có một tương đương với polyominoes trên một lưới tam giác. Họ được gọi là polyiamonds , và họ là hình dạng hình thành bằng cách dán tam giác đều nhau dọc theo các cạnh của họ. Trong thử thách này, bạn sẽ quyết định tập hợp con nào của lưới tam giác là đa giác và liệu chúng có lỗ hổng nào không. Bởi vì chỉ mất 9 hình tam giác để tạo một hình đa giác có lỗ trong đó, mã của bạn cần phải càng ngắn càng tốt.
Cái lưới sắt
Chúng tôi sẽ sử dụng bố trí lưới hình tam giác của Martin cho đầu vào:
Hãy chú ý đến thực tế rằng các tâm của các hình tam giác tạo thành một lưới hình chữ nhật gần đúng và hình tam giác trên cùng bên trái "điểm" hướng lên. Chúng ta có thể mô tả một tập hợp con của lưới này, sau đó, bằng cách đưa ra một "bản đồ sao" hình chữ nhật cho biết hình tam giác nào được bao gồm và không được bao gồm. Ví dụ, bản đồ này:
** **
*****
tương ứng với các đa giác nhỏ nhất chứa một lỗ:
Hố
Một polyiamond trong đó có một lỗ như ví dụ trên (một khu vực không phải là một phần của polyiamond, được bao quanh trên tất cả các bên theo vùng đó là ) không phải là, nói topology, chỉ đơn giản là kết nối .
Các thách thức
Viết một hàm hoặc chương trình lấy đầu vào là "bản đồ sao" như được mô tả ở trên và đưa ra một sự thật khi và chỉ khi tập hợp con được chỉ định của lưới tam giác là một đa giác được kết nối đơn giản .
Thêm ví dụ
*** ***
*******
tương ứng với đa giác
được kết nối đơn giản.
* *
** **
***
tương ứng với đa giác
được kết nối đơn giản.
** **
*** **
****
tương ứng với phi- poli
mà sẽ không được kết nối đơn giản ngay cả khi nó là một polyihua.
Thông số đầu vào
- Đầu vào sẽ chỉ bao gồm các dấu sao, dấu cách và nguồn cấp dữ liệu.
- Ký tự đầu tiên của đầu vào sẽ luôn là dấu cách hoặc dấu hoa thị (tương ứng với hình tam giác hướng lên ở góc trên cùng bên trái của lưới).
- Sẽ luôn có ít nhất một dấu sao trên dòng đầu tiên và cuối cùng.
- KHÔNG đảm bảo rằng các dòng sau dòng đầu tiên sẽ không trống. Hai nguồn cấp dữ liệu liên tiếp có thể xuất hiện trong một đầu vào hợp pháp.
- Độ dài dòng không cần phải giống nhau.
Điều kiện chiến thắng
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Các trường hợp thử nghiệm
Bản đồ thật:
1) *
2) *
*
3) **
4) *** ***
*******
5) * *
** **
***
6) *
**
*
7) **
***
****
8) ****
** *
*****
9) ***********
** ** **
**** ** **
**
************
Bản đồ giả:
1) *
*
*
2) * *
3) *
*
4) **
**
5) ***
***
6) ** **
*****
7) ** **
*** **
****
8) *
*
9) *****
** *
*****
AV VA\nVAVAV
thay vì** **\n*****
nó giúp con người dễ hình dung hơn. Tôi đã thực hiện chỉnh sửa một trong các sơ đồ ASCII của Martin.