ความท้าทาย
รับบอร์ด bagatelle เหมือนด้านล่าง:
| |
| /\ / |
| \ /|
| \ \ /\ \ |
| \ / \ |
|\ / / \ |
| \ / \ |
| \ |
| \ / \ /\ \ |
|\ / / \ /|
| / |
| /\ / / |
| / |
|\ / / / |
| |
----------------------
งานของคุณคือเปลี่ยนรายการ 'พ่น' เป็นคะแนน
กระดานจะมีความกว้าง 20 ตัวอักษร (บวก 2 ขอบ) เสมอ แต่มีความสูงผันแปรได้ การโยน 'แต่ละครั้ง' หมายถึงหมายเลขที่ลูกบอลตกลงไปในกระดานโดยเริ่มต้นที่ 0 สำหรับซ้ายสุดจนถึง 19 สำหรับขวาสุด ลูกแต่ละคนจะล้มลงตรงจนกว่าจะพบหรือ/ \การพบกับ/การเลื่อนลูกบอลหนึ่งคอลัมน์ทางด้านซ้ายและการ\เลื่อนลูกบอลหนึ่งคอลัมน์ไปทางขวา หลังจากที่ถูกขยับบอลยังคงตรงลงเหมือนเมื่อก่อน คะแนนสำหรับการโยนจะขึ้นอยู่กับที่ลูกบอลกระทบด้านล่างของกระดาน
คะแนนสำหรับการจบแต่ละตำแหน่งมีดังนี้:
| |
----------------------
01234567899876543210
และเหมือนกันสำหรับทุกบอร์ด แถวแรกและแถวสุดท้ายจะว่างเปล่าเสมอ ลูกมีการประกันการเข้าถึงด้านล่างโดยไม่คำนึงถึงว่ามันอยู่ที่ไหนลดลงจากดังนั้นจะมีแผงไม่มีที่จะสามารถได้รับการติดโดย\/, \|หรือ|/รวมกัน
อินพุต
การป้อนข้อมูลจะอยู่ใน STDIN และจะประกอบด้วยคณะกรรมการตามด้วยบรรทัดว่างแล้วตามด้วยช่องว่างคั่นรายการตัวเลขที่แสดงการขว้าง
เอาท์พุต
Ouput ควรจะเป็นคะแนนรวมสำหรับเกมที่กำหนด
ตัวอย่างบางส่วน
อินพุต
| |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| |
| |
----------------------
1 4 2 19 0 2 4 3 17 13 16
เอาท์พุต
9
อินพุต
| |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
----------------------
15 10 3 8 18 19 0 6 7 10
เอาท์พุต
72
อินพุต
| |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| |
----------------------
1 4 18 17 14 2 0 19 15
เอาท์พุต
18
สคริปต์ทดสอบ
ฉันใช้สคริปต์ทดสอบที่เขียนโดยJoeyและVentero (ฉันหวังว่าพวกเขาจะไม่สนใจ ... ) เพื่อสร้างแบบทดสอบสำหรับงานนี้: -
การใช้งาน: ./test [your program and its arguments]
นี่คือ codegolf - ทางออกที่สั้นที่สุดชนะ