พื้นหลัง
ไม่กี่เดือนที่ผ่านมาการผจญภัยในชีวิตของคุณกำลังจะเริ่มขึ้น ตอนนี้ในช่วงเวลาที่แม่นยำ (ใช่ตอนนี้) หลังจากเดือนแห่งความทุกข์ทรมานและการทำงานอย่างหนักคุณและกลุ่มเพื่อนกำลังยืนอยู่บนจุดสูงสุดของโลก ใช่คุณมีสิทธิที่คุณอยู่บนยอดSagarmatha
อย่างไรก็ตามสิ่งต่าง ๆ ไม่เป็นไปตามที่คุณต้องการ หมอกหนาทึบล้อมรอบตัวคุณและพายุที่ดูไม่ดีอย่างไม่น่าเชื่อกำลังมาเร็วเท่าที่จะทำได้ คุณไม่ได้ยึดเชือกใด ๆ จนสุดและรอยเท้าของคุณก็ถูกปกคลุมไปด้วยหิมะ หากคุณต้องการที่จะอยู่รอด (อย่างน้อยก็ในวันนี้) คุณต้องออกจากที่นั่นให้เร็วที่สุดเท่าที่จะทำได้ แต่ก่อนอื่นคุณต้องหาวิธีที่จะรู้ว่าใบหน้าของภูเขาใดที่คุณควรลงมา
โชคดีที่คุณนำโทรศัพท์ satของคุณมาด้วยซึ่งคุณได้แก้ไขก่อนการเดินทางเพื่อให้คุณสามารถตั้งโปรแกรมและดำเนินการโปรแกรมต่างๆได้
ท้าทาย
คุณสามารถดาวน์โหลดแผนที่บนภูเขาด้วยโทรศัพท์ในรูปแบบ ASCII ที่ล้าสมัยและไม่สามารถอ่านบนโลกได้ งานของคุณคือการตัดสินใจว่าใบหน้าใดของภูเขาที่นำเสนอเชื้อสายที่ง่ายที่สุดเพื่อให้คุณสามารถเพิ่มโอกาสรอดชีวิต ในการทำเช่นนั้นคุณมีความคิดที่ยอดเยี่ยมในการเขียนโค้ดโปรแกรมบนโทรศัพท์ของคุณซึ่งจะบอกได้ว่าวิธีใดที่ง่ายที่สุด (ข้อจำกัดความรับผิดชอบ: กิจกรรมเหล่านี้ทำโดยผู้เชี่ยวชาญไม่มีโปรแกรมเมอร์คนใดได้รับบาดเจ็บระหว่างการบรรยายนี้โปรดอย่าลองทำที่บ้าน)
แผนที่ทำจากตัวละคร/และ\(รวมถึงช่องว่างและบรรทัดใหม่) ในแผนที่ใด ๆ ยอดเขาจะถูกแสดงโดยเสมอ
/\
\/
และจากแต่ละด้าน ( 1,2,3หรือ4) ของการประชุมสุดยอดคุณจะพบทางลง "ที่เป็นไปได้" เสมอ
1 /\ 2
3 \/ 4
เส้นทางจะถูกนำเสนอในวิธีถัดไปเสมอ:
\
Steep-> / /
/ / <-Flat
/ \
Flat-> \ \
/ \ <-Steep
/\
\/
โดยที่ตัวละครใหม่แต่ละตัวจะอยู่ทางด้านซ้าย / ขวาของรุ่นก่อน ความหมายของตัวละครแต่ละตัวคือ:
- หากเครื่องหมายสแลช / แบ็กสแลชขนานกับด้านบน -> นับว่าเป็นส่วน 'ชัน'
- หากเครื่องหมายทับขวา / แบ็กสแลชตั้งฉากกับด้านประชุมสุดยอด -> นับว่าเป็นส่วน 'แบน'
* สำหรับการอ้างอิงเพิ่มเติมดูกราฟิกด้านบน
หมายเหตุ : ด้านข้างสามารถมีความยาวแตกต่างกันและตัวละครที่ประกอบด้วยยอดก็นับเป็นส่วนหนึ่งของด้านข้างของพวกเขา ในกรณีที่เสมอคุณสามารถเลือกใด ๆ ก็ได้
ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
อินพุต
สตริงที่แสดงถึงแผนที่ของภูเขาหรือไฟล์ข้อความล้วนที่มีข้อมูลเดียวกัน
ทั้ง
C:\....\file.txt
หรือ
\
/ /
/ /
/ \
\ \
/ \
/\
\/
\ /
\ \
\ \
\ \
/ /
เป็นสตริงเป็นอินพุตที่ถูกต้อง
เอาท์พุต
ในฐานะที่เป็นออกคุณควรผลิตทั้งในไฟล์ข้อความธรรมดาหรือโดย stdout ต์การแสดงรายละเอียดของ ASCII ด้านที่มีความสูงชันเฉลี่ยที่เล็กที่สุดที่ใช้_สำหรับชิ้นส่วนแบนและ/สำหรับชิ้นส่วนที่สูงชันพร้อมกับความสูงชันเฉลี่ย(number of "/")/(total chars)ของด้านข้าง
ตัวอย่างผลลัพธ์ของแผนที่ด้านบน:
/
___/
/
AS:0.5
รูปแบบไม่สำคัญตราบใดที่คุณมีโปรไฟล์และความชันเฉลี่ย
เกณฑ์การให้คะแนน
อะไร? คุณต้องการรางวัลที่ดีกว่าการรักษาชีวิตของคุณและเพื่อนของคุณและเป็นโปรแกรมเมอร์คนแรกที่เคยเขียนโปรแกรมไว้บนโลกหรือไม่? โอเค ... นี่คือโค้ดกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ
การป้อนข้อมูล:
\
/ /
/ /
/ \
\ \
/ \
/\
\/
\ /
\ \
\ \
\ \
/ /
เอาท์พุท:
/
___/
/
AS=0.5
การป้อนข้อมูล:
/
\ /
/ /
\ /
\ /
/ /
/\
\/
\ /
\ \
\ \
\ \
/ /
/
/
เอาท์พุท:
______/
AS=0.143 (1/7)
การป้อนข้อมูล:
/ \
\ \
/ /
/ \
/\
\/
\ /
\ /
\ /
/ \
เอาท์พุท:
/
/
/
_/
AS=0.8