คุณอาศัยอยู่ในอาคารที่มีความกว้าง 80 ตัวอักษร คุณรู้สึกเบื่อดังนั้นคุณตัดสินใจที่จะเล่นโดมิโน ไม่ไม่ใช่คนที่น่าเบื่อที่ดูเหมือน Scrabble ความสนุกที่คุณใช้เวลาหนึ่งชั่วโมงเพื่อให้พวกเขาดูพวกเขาล้มลงในไม่ช้า
ในเทอร์มินัลแต้มแต้มมีลักษณะดังนี้:
| upright domino
\ left-tilted domino
/ right-tilted domino
__ fallen domino
อย่างที่เราทุกคนรู้กันดีว่าถ้าโดมิโนที่เอียงนั้นสัมผัสกับตั้งตรงโดมิโนที่สองก็เอียงเช่นกัน ข้อยกเว้นเพียงอย่างเดียวคือถ้าโดมิโนเอียงสองอันแตะมัน:
|\ --> \\ /| --> // /|\ --> /|\
ปรับค่าคงตัวความโน้มถ่วงของเทอร์มินัลเพื่อให้การเปลี่ยนแปลงนี้ใช้เวลา 100 มิลลิวินาที
หากโดมิโนที่เอียงได้รับการสนับสนุนโดยโดมิโนอื่นหรือผนังของเทอร์มินัลการเดินทางจะสิ้นสุดลง
ไม่มีโดมิโนเอียงใน
\||||____||||/__ /|\ /\ /|\ __\||||____||||/
(80 ตัวอักษร) จะเคลื่อนไหวเนื่องจากโดมิโนเอียงทั้งสองได้รับการสนับสนุนจากผนังของเทอร์มินัลและโดมิโนอื่นรองรับทั้งหมด
อย่างไรก็ตามหากพื้นที่ในทิศทางการเอียงว่างเปล่าโดมิโนจะล้มลง:
| \\ --> |__\ // | --> /__|
สถานีปลายทาง ค่าความโน้มถ่วงคงที่ คุณได้รับจุด ...
ในที่สุดก็มีลมเล็กน้อยจากทางด้านซ้ายดังนั้นโดมิโนที่เอียงขวาจะตกลงเร็วกว่าตัวที่เอียงไปทางซ้าย:
|/ \| --> |__\|
งาน
เขียนโปรแกรม / ฟังก์ชั่นที่แสดงภาพเคลื่อนไหวของการเล่นโดมิโนในเทอร์มินัล
รหัสของคุณควรทำดังนี้:
อ่านสตริงจากอินพุตแสดงถึงสถานะเริ่มต้นของแต้ม
สายนี้จะมีไม่เกิน 80 ตัวอักษรและประกอบด้วยโดมิโนที่อธิบายไว้ข้างต้นและช่องว่างเปล่าเพียงอย่างเดียว
พิมพ์สถานะและรอ 100 ms
เปลี่ยนสถานะตามที่อธิบายไว้ข้างต้น
หากสถานะเปลี่ยนไปให้กลับไปที่ 2
กฎเพิ่มเติม
ความยาวของอินพุตสตริงไม่มีผลต่อความกว้างของเทอร์มินัล แม้ว่าสตริงจะสั้นกว่า 80 อักขระผนังของเทอร์มินัลจะยังคงแยกห่างกัน 80 อักขระ
ในแต่ละครั้งที่มีการดำเนินการขั้นตอนที่ 2 สถานะควรจะถูกพิมพ์ไปยังตำแหน่งเดียวกันแทนที่สถานะก่อนหน้า
เนื่องจากบางภาษาไม่สามารถรอได้ 100 มิลลิวินาทีคุณสามารถรอได้ระหว่าง 50 ถึง 1,000 มิลลิวินาที
ใช้กฎมาตรฐานของกอล์ฟ
ตัวอย่าง
สำหรับสถานะเริ่มต้น
||\/||
พิมพ์ดังต่อไปนี้ (อีกอันหนึ่ง):
||\/|| |\\//| \\\/// __\\//__
สำหรับสถานะเริ่มต้น
/||||\
พิมพ์ต่อไปนี้
/||||\ //||\\ ///\\\
สำหรับสถานะเริ่มต้น
/|||\
พิมพ์ต่อไปนี้
/|||\ //|\\
สำหรับสถานะเริ่มต้น
|/ \|/ \|/ \|/ \|
พิมพ์ต่อไปนี้:
|__\|__\|__\|__\|
สำหรับสถานะเริ่มต้น (80 ตัวอักษร)
\||||____||||/__ /|\ /\ /|\ __\||||____||||/
พิมพ์ต่อไปนี้
\||||____||||/__ /|\ /\ /|\ __\||||____||||/
/
หรือ/|
และคุณจะเห็นกระเบื้องไม่ตกไปตามที่ควร