Đổi mới là một trò chơi bài nơi người chơi chiến đấu qua các thời đại, từ thời tiền sử đến thời hiện đại, trong nỗ lực kiếm thành tích nhanh hơn đối thủ của họ.
Mỗi thẻ trong Đổi mới là duy nhất và cung cấp cho người chơi một số biểu tượng. Nếu chúng ta coi mỗi thẻ là một lưới 2x3, thì ba trong số bốn khe ở cạnh trái và cạnh dưới sẽ luôn được đưa lên bởi các biểu tượng (các biểu tượng trong hình lục giác đen không được tính).
Trò chơi có 6 loại biểu tượng (lâu đài, vương miện, lá, bóng đèn, nhà máy và đồng hồ), mà chúng ta sẽ đại diện tùy ý sử dụng ký tự 012345
. Sử dụng #
để đại diện cho hình lục giác đen, chúng ta có thể sử dụng bốn ký tự để biểu thị các biểu tượng trên mỗi thẻ. Ví dụ, các thẻ ở trên là
0.. #.. 3.. 1.. -> 03#0 #331 355# 144#
3#0 331 55# 44#
Bây giờ, trong Đổi mới, các thẻ trong khu vực chơi được nhóm thành đống * được chơi theo một trong bốn cách. Đối với mỗi ví dụ, chúng tôi sẽ sử dụng các thẻ ở trên, giả sử thẻ ngoài cùng bên trái 03#0
, nằm ở đầu đống.
Không có splay: chỉ nhìn thấy thẻ trên cùng
0..
3#0
Splay bên trái : thẻ trên cùng có thể nhìn thấy đầy đủ, cũng như thứ ba bên phải của tất cả các thẻ bên dưới
0..|.|.|.|
3#0|1|#|#|
Splay phải : thẻ trên cùng có thể nhìn thấy đầy đủ, cũng như thứ ba bên trái của tất cả các thẻ bên dưới
1|3|#|0..
4|5|3|3#0
Splay up : thẻ trên cùng có thể nhìn thấy đầy đủ, cũng như nửa dưới của tất cả các thẻ bên dưới.
0..
3#0
---
331
---
55#
---
44#
Các thách thức
Đầu vào sẽ là một chuỗi phân tách không gian duy nhất bao gồm hai phần:
- Một hướng splay, là một trong những
!<>^
, đại diện cho không có splay, splay trái, splay phải hoặc splay lên tương ứng. - Một danh sách các thẻ không trống, mỗi thẻ dài 4 ký tự và bao gồm các ký tự
012345#
. Thẻ ngoài cùng bên trái nằm ở đầu đống và mỗi thẻ chứa chính xác một#
.
Câu trả lời có thể là chức năng, chương trình đầy đủ hoặc tương đương . Bạn có thể chọn hướng splay là đầu tiên hay cuối cùng, tức là chọn một trong hai định dạng dưới đây:
> 03#0 #331 355# 144#
03#0 #331 355# 144# >
Đầu ra sẽ là một danh sách sáu số đại diện cho số đếm cho mỗi biểu tượng, ví dụ cho các thẻ ví dụ ở trên:
! 03#0 #331 355# 144# -> 2 0 0 1 0 0
< 03#0 #331 355# 144# -> 2 1 0 1 0 0
> 03#0 #331 355# 144# -> 2 1 0 3 1 1
^ 03#0 #331 355# 144# -> 2 1 0 3 2 2
Chẳng hạn, trường hợp không có splay có hai 0
biểu tượng và một 3
biểu tượng hiển thị, đưa ra dòng đầu tiên. Lưu ý rằng chúng ta không tính #
s, vì các hình lục giác đen không phải là biểu tượng.
Bạn có thể chọn bất kỳ cách biểu thị danh sách hợp lý và không mơ hồ nào, ví dụ như phân tách bằng dấu phân cách hoặc sử dụng biểu diễn danh sách tự nhiên của ngôn ngữ của bạn.
Các trường hợp thử nghiệm
! 113# -> 0 2 0 1 0 0
< 113# -> 0 2 0 1 0 0
> 113# -> 0 2 0 1 0 0
^ 113# -> 0 2 0 1 0 0
! 000# 12#2 -> 3 0 0 0 0 0
< 000# 12#2 -> 3 0 1 0 0 0
> 000# 12#2 -> 3 1 1 0 0 0
^ 000# 12#2 -> 3 0 2 0 0 0
! 000# 111# 222# -> 3 0 0 0 0 0
< 000# 111# 222# -> 3 0 0 0 0 0
> 000# 111# 222# -> 3 2 2 0 0 0
^ 000# 111# 222# -> 3 2 2 0 0 0
! 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 0 0 0 2 0 1
< 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 1 1 2 5 1 1
> 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 0 3 3 7 1 1
^ 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 2 4 4 10 1 2
Lưu ý rằng một cái gì đó như !
là đầu vào không hợp lệ, vì danh sách được đảm bảo là không trống.
* Vì mục đích của thử thách này, chúng tôi bỏ qua màu cọc.