Vì vậy, nhiệm vụ của bạn là lấy một khối 3x3 trong đó -
có nghĩa là khoảng trắng và *
nghĩa là khoảng trống được lấp đầy, ví dụ:
-**
-*-
*-*
và sắp xếp lại khối sao cho *
hình dạng X, như thế này:
*-*
-*-
*-*
Đầu vào: 3x3 hình vuông như trên, chúng có thể là 3 dòng, một mảng hoặc theo cách bạn muốn.
Đầu ra: Lượng di chuyển ngắn nhất để sắp xếp lại thành X. Mỗi lần di chuyển là lật 2 ký tự đang chạm và nằm ngang với nhau, thẳng đứng với nhau hoặc chéo nhau. Nếu không thể, hãy trả lại bất kỳ đầu ra không thể nào, ví dụ 999
hoặc -4242
. 5
là số nhỏ nhất như vậy.
Các trường hợp thử nghiệm:
1) Đầu ra: 1
-**
-*-
*-*
2) Đầu ra: -1
-*-
-*-
*-*
3) Đầu ra: 3
---
-**
***
4) Đầu ra: 0
*-*
-*-
*-*
Bạn có thể thay thế các ký tự trống và không trống nhưng hãy chắc chắn bao gồm các ký tự trong bài viết của bạn
Mã Golf
Hãy nhớ rằng đây là mã golf, mã ngắn nhất sẽ thắng!
*
thì sao? Bạn có thể thêm một số trường hợp thử nghiệm?
*
hoặc dưới 5 thì không thể thực hiện được.
-1
không? Ví dụ 5
(không thể khác), hoặc ném lỗi?
*
và ngược lại, hoặc trao đổi chúng?