Thử thách
Đưa ra một hình dạng nghệ thuật ASCII, bạn phải tìm hiểu xem hình dạng đó có phải là hình lục giác thông thường hay không.
Hình lục giác
Một hình lục giác thông thường được xác định bằng hai quy tắc:
- Nó có sáu mặt
- Mỗi bên có số ký tự bằng nhau
Ví dụ: hình sau đây là hình bình thường nhưng nó không có sáu cạnh và do đó không phải là hình lục giác đều :
B a a h
s a i d
y o u r
g a o t
Tương tự, hình dạng sau có sáu cạnh nhưng có các cạnh có độ dài khác nhau và do đó không phải là hình lục giác thông thường :
* *
* * *
* * * *
* * *
* *
Tuy nhiên, hình dạng sau có sáu cạnh và tất cả các cạnh có cùng số ký tự, vì vậy nó là một hình lục giác đều:
T h e
h e x a
g o n s a
r e c o
m i n
Quy tắc
Đầu ra phải là giá trị trung thực hoặc giá trị falsey (trung thực nếu hình dạng là hình lục giác đều, falsey nếu không).
Các hình dạng sẽ chỉ bao gồm các ký tự ASCII có thể in được.
Đường viền của hình sẽ không bao giờ chứa khoảng trắng. Nếu có, bạn có thể trả lại falsey.
Có thể có số lượng khoảng trắng tùy ý trước và / hoặc sau hình dạng.
Tất cả các góc trong hình có thể không bằng nhau, ví dụ, hình sau đây là đầu vào hợp lệ:
. . .
. . .
. . . . .
. . . .
. . .
Nó sẽ trả về một giá trị falsey.
Tất cả các hình dạng đầu vào sẽ nằm trên một lưới ngăn cách. Đầu vào hình lục giác sẽ nằm trên một lưới so le (mỗi dòng được bù từ cái tiếp theo).
Ví dụ
Sự thật
Các hình dạng sau sẽ trả về giá trị trung thực:
# _
+ + +
9 :
5 6 7
8 9 0 1
2 3 4 5 6
7 8 9 0
1 2 3
t h i s
i s
a h
e x
a g
o n
! ! ! !
5 6 7
8 9 0 1
2 3 4 5 6
7 8 9 0
1 2 3
Falsey
Sau đây sẽ trả về giá trị falsey
r e c t a
n g l e s
h e l l o
w o r l d s
t h i s i s b
e t a d e c
a y n o w
*
* *
* * *
.....
.......
.........
.......
.....
Hình dạng này không nằm trên một lưới ngăn cách không gian và không được đặt so le.
* * * *
---------
* * * * * *
-------------
* * * * * *
---------
* * * *
5 6 7
8 9 0 1
2 3 4 5 6
7 8 9 0
1 2 3
Đối với các đầu vào ký tự đơn, chương trình của bạn có thể xuất ra trung thực hoặc falsey:
&
Chiến thắng
Chương trình ngắn nhất tính bằng byte thắng.
5 6 7\n8 9 0 1\n2 3 4 5 6\n7 8 9 0\n1 2 3
và một không gian bổ sung dẫn đến một trong các hàng: ss5 6 7\nss8 9 0 1\n2 3 4 5 6\ns7 8 9 0\nss1 2 3
(không gian hàng đầu được thay thế s
để làm cho nó rõ ràng hơn một chút trong hình thức không được định dạng này) . Hiện tại tất cả 10 trường hợp thử nghiệm của bạn đang xác thực chính xác với mã của tôi, nhưng hai trường hợp này sẽ thất bại với cách tiếp cận tôi đã sử dụng.