คุณมีหน้าที่สร้างทางด่วนใหม่ อย่างไรก็ตามมันนำไปสู่ดินแดนที่เป็นภูเขาดังนั้นจึงจำเป็นต้องมีสะพานและอุโมงค์จำนวนมาก ฟรีเวย์ควรอยู่ในระดับเดียว
อินพุต
คุณจะได้รับคำอธิบาย ASCII คร่าวๆว่าลักษณะของภูเขาบนอินพุตมาตรฐานเช่นอะไรดังต่อไปนี้:
                         /\                                
                        /  \                               
                   /\  /    \                              
            /\    /  \/      \                             
           /  \  /            \                  /\        
          /    \/              \                /  \       
_        /                      \        /\    /    \      
 \      /                        \      /  \  /      \  /\ 
  \    /                          \    /    \/        \/  \
   \  /                            \  /                    
    \/                              \/                     
_ในเครื่องหมายคอลัมน์แรกจุดเริ่มต้นและระดับของถนน ช่วงของภูเขานั้นต่อเนื่องกันและหากส่วนสุดท้ายจะเป็นสะพานมันจะมีจำนวนตัวอักษรที่เท่ากัน
คุณอาจสันนิษฐานว่าบรรทัดอินพุตไม่ยาวเกิน 100 ตัวอักษรและมีความยาวไม่เกิน 15 บรรทัด ทุกบรรทัดมีความยาวเท่ากันซึ่งอาจจะเป็นเบาะอวกาศในตอนท้าย ถนนไม่เคยเริ่มภายในภูเขาหรือเป็นสะพาน สิ่งแรกที่ติดตามกระเบื้องถนนในอินพุตนั้นอาจเป็นทางลาดเอียงขึ้นลง
เอาท์พุต
เอาท์พุทเป็นเทือกเขาเดียวกันยกเว้นตอนนี้มีถนนที่ก่อนหน้านี้เป็นเพียงจุดเริ่มต้น เอาต์พุตถูกกำหนดบนเอาต์พุตมาตรฐาน
สำหรับสิ่งนี้มีกฎมากมาย:
- ถนนจะต้องเริ่มต้นจากสถานที่ที่ระบุในทางเข้าและยังคงอยู่ในระดับเดิมตลอด เพื่อให้ง่ายขึ้นเราได้เตรียมแผ่นกระเบื้องถนนที่ทำไว้ล่วงหน้าจำนวนหนึ่งซึ่งมีลักษณะดังนี้ - _:- _______ \ / \/\/
- ถนนจะต้องขยายไปถึงจุดสิ้นสุดสุดของเทือกเขา (เช่นความยาวของเส้นอินพุตกำหนดว่าถนนไปไกลแค่ไหน) 
- ต้องเจาะอุโมงค์ทุกครั้งที่มีภูเขาเป็นที่ต้องการของถนน อุโมงค์เดินทะลุผ่านภูเขาและออกจากหลุมที่จุดเริ่มต้นและจุดสิ้นสุด (เช่นอุโมงค์แทนที่ความลาดชันของภูเขาด้วยวงเล็บปิดที่จุดเริ่มต้นและวงเล็บเปิดที่ปลาย) 
- อุโมงค์ออกจากกันอุโมงค์ในภูเขาซึ่งมักจะมีเพดาน โชคดีที่กระเบื้องถนนที่สร้างไว้ล่วงหน้าของเราสามารถนำมาใช้เพื่อเสริมความแข็งแกร่งของเพดานเพื่อให้อุโมงค์ไม่ยุบตัว (เส้นเหนืออุโมงค์ต้องใช้ - _ในการเสริมกำลังอุโมงค์):- /\ / \ /____\ ___)______(__ \/ \/
- อุโมงค์ไม่จำเป็นต้องเสริมเมื่อภูเขาไม่สูงพอ มันฟังดูแปลกสำหรับฉันเช่นกัน แต่ฉันได้รับการบอกว่าแผ่นกระเบื้องถนนที่ทำไว้แล้วมีความแข็งแรงพอที่จะจับแม้ในกรณีที่เว้นระยะไว้ (ไม่มีเพดานอุโมงค์ถูกดึงเมื่อมีความลาดชันเหนืออุโมงค์): - /\ /\/__\ ___)______(__ \/ \/
- สะพานมีความจำเป็นเมื่อใดก็ตามที่ถนนต้องการข้ามช่องว่าง สำหรับสะพานสั้นแผ่นกระเบื้องที่ทำไว้ล่วงหน้ามีความแข็งแรงเพียงพอ แต่ยังต้องการการรองรับเล็กน้อยที่จุดเริ่มต้นและจุดสิ้นสุดของสะพาน (ความลาดชันลงใต้สะพานแรกและความลาดชันขึ้นด้านบนสุดท้ายจะถูกแทนที่ด้วย - Yดังนั้นจึงมีคานรองรับสำหรับสะพาน ):- _____ Y Y \/
- สะพานที่ยาวขึ้นต้องการการสนับสนุนเพิ่มเติม สะพานยาวนั้นเป็นสะพานที่มีแผ่นกระเบื้องถนนที่ไม่รองรับมากกว่าหกแผ่นในหนึ่งแถว สะพานยาวต้องมีเสาอยู่ตรงกลาง - |เสาหลักที่ถูกสร้างขึ้นได้อย่างง่ายดายด้วยคานเสาที่สร้างไว้ล่วงหน้าของเราซึ่งมีลักษณะเช่นนี้ แต่ละเสาต้องการสองเสาและขยายลงไปที่ก้นเหว:- _____________________________ Y || Y \ /\ || /\ /\/ \ /\ / \||/ \ /\/ \/ \/ \/ \/
- เนื่องจากข้อมูลป้อนเข้านั้นเป็นเพียงส่วนหนึ่งของเทือกเขาทั้งหมดที่จำเป็นต้องมีการสร้างทางด่วนดังนั้นอาจสิ้นสุดทันทีกลางสะพานหรืออุโมงค์ กฎบริดจ์ยาวยังคงใช้กับส่วนสุดท้ายและคุณสามารถสันนิษฐานได้ว่าส่วนแรกที่อยู่นอกเหนือจากอินพุตที่ให้มาสนับสนุนบริดจ์อีกครั้ง 
ตามกฎข้างต้นเราจะได้รับสิ่งต่อไปนี้สำหรับข้อมูลของเรา:
                         /\                                
                        /  \                               
                   /\  /    \                              
            /\    /  \/      \                             
           /  \  /            \                  /\        
          /____\/______________\                /__\       
_________)______________________(________)(____)____(______
 Y      Y                        Y      Y  Y  Y      Y  YY 
  \    /                          \    /    \/        \/  \
   \  /                            \  /                    
    \/                              \/                     
รหัสที่สั้นที่สุดตามจำนวนตัวอักษรชนะ ช่องว่างต่อท้ายในบรรทัดจะถูกละเว้นสำหรับการตรวจสอบ
ตัวอย่างอินพุต 1
_                                                           
 \                            /\                            
  \                          /  \                           
   \                        /    \                          
    \                /\    /      \              /\        /
     \    /\        /  \  /        \      /\  /\/  \      / 
      \  /  \      /    \/          \    /  \/      \/\  /  
       \/    \    /                  \  /              \/   
              \  /                    \/                    
               \/                                           
ตัวอย่างผลลัพธ์ 1
____________________________________________________________
 Y             ||             YY             ||             
  \            ||            /  \            ||             
   \           ||           /    \           ||             
    \          ||    /\    /      \          ||  /\        /
     \    /\   ||   /  \  /        \      /\ |/\/  \      / 
      \  /  \  ||  /    \/          \    /  \/      \/\  /  
       \/    \ || /                  \  /              \/   
              \||/                    \/                    
               \/                                           
ตัวอย่างอินพุต 2
                                           /\  /\                      
                                          /  \/  \                    /
           /\                            /        \  /\              / 
    /\    /  \                          /          \/  \            /  
   /  \  /    \/\                      /                \    /\    /   
  /    \/        \                    /                  \  /  \  /    
_/                \                  /                    \/    \/     
                   \                /                                  
                    \            /\/                                   
                     \  /\      /                                      
                      \/  \    /                                       
                           \  /                                        
                            \/                                         
ตัวอย่างผลลัพธ์ 2
                                           /\  /\                      
                                          /  \/  \                    /
           /\                            /        \  /\              / 
    /\    /  \                          /          \/  \            /  
   /  \  /    \/\                      /                \    /\    /   
  /____\/________\                    /__________________\  /__\  /____
_)________________(__________________)____________________()____()_____
                   Y       ||       Y                                  
                    \      ||    /\/                                   
                     \  /\ ||   /                                      
                      \/  \||  /                                       
                           \| /                                        
                            \/                                         
บันทึก
ช่องว่างต่อท้ายในเอาต์พุตจะถูกละเว้นสำหรับการเปรียบเทียบกับโซลูชันการอ้างอิง
สภาพการชนะ
รหัสที่สั้นที่สุดชนะเช่นเดียวกับในกอล์ฟ ในกรณีที่เสมอกันการแก้ปัญหาก่อนหน้านี้ชนะ
กรณีทดสอบ
มีสองสคริปต์ทดสอบที่มีกรณีทดสอบเหมือนกัน:
การร้องขออยู่ในทั้งสองกรณี: <test script> <my program> [arguments], ./test ruby bridges.rbหรือ./test.ps1 ./bridges.exeหรือ
หมายเหตุอื่น
งานนี้เป็นส่วนหนึ่งของการแข่งขันกอล์ฟที่จัดขึ้นที่มหาวิทยาลัยของฉันในช่วงปี 2011-W24 คะแนนและภาษาของผู้แข่งขันของเรามีดังนี้:
- 304 - Perl
- 343 - C
- 375 - C
- 648 - Python
วิธีการแก้ปัญหาของเราเอง (ขอบคุณ Ventero) คือ
- 262 - ทับทิม