นวัตกรรมเป็นเกมไพ่ที่ผู้เล่นต่อสู้ผ่านยุคสมัยตั้งแต่ยุคก่อนประวัติศาสตร์จนถึงยุคปัจจุบันเพื่อพยายามที่จะได้รับความสำเร็จเร็วกว่าคู่ต่อสู้
การ์ดในนวัตกรรมแต่ละใบมีเอกลักษณ์และมอบไอคอนจำนวนหนึ่งให้ผู้เล่น หากเราถือว่าไพ่แต่ละใบเป็นตาราง 2x3 แล้วสามในสี่ช่องบนขอบด้านซ้ายและด้านล่างจะถูกนำขึ้นโดยไอคอนเสมอ (สัญลักษณ์ในรูปหกเหลี่ยมสีดำจะไม่ถูกนับ)
เกมนี้มี 6 ประเภทของไอคอน (ปราสาทครอบใบหลอดไฟโรงงานและนาฬิกา) 012345
ซึ่งเราจะเป็นตัวแทนของพลโดยใช้ตัวอักษร การใช้#
เพื่อเป็นตัวแทนของรูปหกเหลี่ยมสีดำเราสามารถใช้สี่ตัวอักษรเพื่อแสดงไอคอนในการ์ดแต่ละใบ ตัวอย่างเช่นการ์ดด้านบนคือ
0.. #.. 3.. 1.. -> 03#0 #331 355# 144#
3#0 331 55# 44#
ตอนนี้ในนวัตกรรมการ์ดในพื้นที่เล่นถูกจัดกลุ่มเป็นกอง * ซึ่งกระจายในหนึ่งในสี่วิธี สำหรับตัวอย่างแต่ละตัวอย่างเราจะใช้ไพ่ด้านบนสมมติว่าการ์ดด้านซ้ายสุด03#0
อยู่ที่ด้านบนของเสาเข็ม
ไม่มี splay:มองเห็นเฉพาะการ์ดบนสุดเท่านั้น
0..
3#0
Splay left : การ์ดบนสุดสามารถมองเห็นได้อย่างสมบูรณ์เช่นเดียวกับอันดับสามของการ์ดด้านล่างทั้งหมด
0..|.|.|.|
3#0|1|#|#|
Splay right : ไพ่ด้านบนสามารถมองเห็นได้อย่างสมบูรณ์เช่นเดียวกับไพ่สามใบด้านซ้ายของการ์ดทั้งหมดด้านล่าง
1|3|#|0..
4|5|3|3#0
Splay up : การ์ดบนสุดสามารถมองเห็นได้อย่างสมบูรณ์เช่นเดียวกับครึ่งล่างของการ์ดทั้งหมดด้านล่าง
0..
3#0
---
331
---
55#
---
44#
ความท้าทาย
อินพุตจะเป็นสตริงที่คั่นด้วยช่องว่างเดียวซึ่งประกอบด้วยสองส่วน:
- ทิศทางการสเปรย์ซึ่งเป็นหนึ่งใน
!<>^
นั้นที่ไม่มีการสเปรย์, สเปรย์ซ้าย, สเปรย์ขวาหรือสเปรย์ขึ้นตามลำดับ - รายการที่ไม่ว่างเปล่าของบัตรแต่ละแห่งซึ่งเป็นความยาว 4
012345#
อักขระและประกอบด้วยตัวอักษร#
บัตรซ้ายสุดอยู่ที่ด้านบนของกองและแต่ละบัตรมีตรงหนึ่ง
คำตอบอาจจะเป็นฟังก์ชั่นโปรแกรมเต็มรูปแบบหรือเทียบเท่า คุณสามารถเลือกได้ว่าทิศทางการกระจายเป็นครั้งแรกหรือครั้งสุดท้ายคือเลือกหนึ่งในสองรูปแบบด้านล่าง:
> 03#0 #331 355# 144#
03#0 #331 355# 144# >
ผลลัพธ์จะเป็นรายการของตัวเลขหกตัวที่แสดงถึงการนับสำหรับแต่ละไอคอนเช่นบัตรตัวอย่างด้านบน:
! 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
ตัวอย่างเช่นกรณีที่ไม่มีการสเปรย์มีสอง0
ไอคอนและไอคอนหนึ่ง3
ไอคอนแสดงขึ้นโดยให้บรรทัดแรก โปรดทราบว่าเราไม่นับ#
s เนื่องจากรูปหกเหลี่ยมสีดำไม่ใช่ไอคอน
คุณสามารถเลือกวิธีการแสดงรายการที่สมเหตุสมผลและไม่คลุมเครือเช่นคั่นด้วยตัวคั่นหรือใช้การแสดงรายการแบบธรรมชาติของภาษาของคุณ
กรณีทดสอบ
! 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
โปรดทราบว่าสิ่งที่ชอบ!
คืออินพุตที่ไม่ถูกต้องเนื่องจากรายการรับประกันว่าไม่ว่างเปล่า
* สำหรับจุดประสงค์ของการท้าทายนี้เราไม่สนใจสีเสาเข็ม