Thử thách của bạn hôm nay là nhận đầu vào như thế này:
fbcfbee
ffcabbe
debceec
bccabbe
edcfbcd
daeaafc
eebcbeb
Và đưa ra cách di chuyển tốt nhất có thể trong một trò chơi giống như Bejeweled sẽ khớp ba hoặc nhiều chữ cái, như thế này (lưu ý viết hoa B
và C
):
fbcfbee
ffcabbe
deBCeec
bccabbe
edcfbcd
daeaafc
eebcbeb
Thông số kỹ thuật đầy đủ:
- Đầu vào sẽ là
n
các dòngn
chữ thường mỗi chữ cái (trong đón
có thể là bất kỳ số nào). - Đầu ra sẽ là bước đi tốt nhất bạn có thể thực hiện trong trò chơi khớp 3, với hai chữ cái bạn muốn hoán đổi viết hoa.
Các trận đấu phải có mức độ ưu tiên sau (trong các ví dụ này,
.
biểu thị một hình vuông không quan trọng):Năm liên tiếp
xxYxx ..X..
Bị hỏng năm liên tiếp
X.. Yxx x.. x..
hoặc là
.X. xYx .x. .x.
Bốn liên tiếp
xYxx .X..
Ba lần liên tiếp
xYx .X.
Bạn phải tìm trận đấu có mức độ ưu tiên cao nhất và xuất nó.
- Nếu có nhiều trận đấu có cùng mức độ ưu tiên, bạn có thể xuất bất kỳ một trong số chúng.
- Sẽ luôn có ít nhất một trận đấu (chương trình của bạn có thể bị hỏng nếu không có trận đấu hoặc làm bất cứ điều gì bạn muốn).
- I / O có thể ở bất kỳ định dạng hợp lý nào (stdin / out, đọc và ghi tệp, đối số hàm / giá trị trả về, hộp thoại, v.v.) nhưng KHÔNG được mã hóa cứng (như
x="[insert input here]"
). - Đây là mã golf để mã ngắn nhất tính theo byte thắng. Nếu bạn sử dụng bất kỳ quyền truy cập mạng nào vì một số lý do, tất cả các byte được tải xuống từ mạng đều tính vào điểm số của bạn.
1
+1, nhưng tôi phản đối tiêu đề; có thể có một động thái tốt hơn. Chẳng hạn, một người tạo ra hai người vợ hoặc một người gây ra sự sụt giảm để tạo ra nhiều thứ hơn.
—
Justin
Có phải năm liên tiếp bị hỏng cũng bao gồm
—
Peter Taylor
..x.\nxxYX\n..x.
?
@Peter Vâng, đúng vậy.
—
Doorknob
Có 2 mẫu 5 bị hỏng trong một hàng: mẫu L và mẫu T. Bạn có yêu cầu cả hai phải được khớp?
—
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳
@nhahtdh Vâng, tôi sẽ chỉnh sửa để làm rõ điều đó.
—
Doorknob