4
แก้ไขการกระทำสองเท่าและสามเท่าใน Dominion
แรงบันดาลใจ คำถามนี้เป็นแรงบันดาลใจด้วยบัตรห้องบัลลังก์กษัตริย์และศาลจากความนิยมดาดฟ้าอาคารเกมการ์ดปกครอง ในฐานะที่เป็นส่วนหนึ่งของหนึ่งเราเล่นลำดับของการกระทำ การกระทำเฉพาะสองอย่างนี้ทำให้การกระทำถัดไปที่เล่นซ้ำสองหรือสามครั้ง * การกระทำ "ทั่วไป" อื่น ๆ ทำให้เกิดเอฟเฟกต์เกมเฉพาะ แต่เราจะไม่สนใจรายละเอียดใด ๆ เพียงแค่ติดป้ายกำกับด้วยตัวอักษร กรณีที่น่าสนใจคือเมื่อห้องบัลลังก์หรือราชสำนักมีผลต่อห้องบัลลังก์อีกแห่งของศาลทำให้เกิดเอฟเฟกต์สองเท่าหรือสามเท่าให้ตัวเองเป็นสองเท่าหรือสามเท่า โซ่ยาวของห้องบัลลังก์กษัตริย์และการกระทำที่หลากหลายสามารถสร้างความสับสนให้กับผู้เล่นที่มีประสบการณ์ เป้าหมายของคุณคือการเขียนโค้ดที่สามารถแก้ไขเชนเหล่านี้ได้อย่างถูกต้องโดยใช้จำนวนไบต์น้อยที่สุด ฉันจะอธิบายข้อกำหนดของโปรแกรมก่อนที่จะอธิบายวิธีการแก้ไขปัญหาโซ่ในกฎ Dominion * ในทางเทคนิคคุณเลือกการกระทำที่ได้รับผลกระทบซึ่งเป็นส่วนหนึ่งของการแก้ไข Throne Room หรือ King's Court แต่มุมมองนี้สะอาดกว่าสำหรับความท้าทายนี้ ข้อกำหนดของโปรแกรม เขียนโปรแกรมหรือฟังก์ชั่นการตั้งชื่อ มันควรใช้ในห่วงโซ่ของการกระทำที่เล่น (STDIN หรือฟังก์ชั่นอินพุต) และเอาท์พุทหรือพิมพ์ห่วงโซ่ของการกระทำจากผลของการเสแสร้งและสามเท่า ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ อินพุต สตริงที่แทนลำดับของการดำเนินการที่เล่น การกระทำทั่วไปจะแทนด้วยตัวอักษรทุนผ่านA Zห้องบัลลังก์แอ็คชั่นสองเท่าเป็นพิเศษแสดงโดยตัวละคร2และแอ็คชั่นสามเท่าของคิงส์คอร์ต3 , จำนวนอักขระ (การกระทำ) จะอยู่ระหว่าง 1 ถึง 30 โดยรวม คุณอาจมีจุดสิ้นสุดการป้อนข้อมูลในบรรทัดใหม่หากคุณต้องการ อินพุตตัวอย่าง: WA23G3GA เอาท์พุต สตริงตัวอักษรพิมพ์ใหญ่AถึงZที่จะนี่ควรเป็นลำดับของการกระทำทั่วไปที่เป็นผลมาจากการแก้ไขเอฟเฟกต์สองเท่าและสามเท่าตามลำดับที่เกิดขึ้น …