บทนำ
นี่คือบันทึกของความยาว 5:
#####
ฉันต้องการกองของบันทึกเหล่านี้อยู่ด้านบนของกันและกัน ฉันจะทำสิ่งนี้ได้อย่างไรว่าฉันเลื่อนบันทึกใหม่ไปยังด้านบนสุดจากด้านขวาและหยุดเลื่อนเมื่อแนวด้านซ้ายหรือด้านขวาของพวกเขาอยู่ในแนวเดียวกัน (ไม่ต้องถามสาเหตุ) หากบันทึกใหม่ยาวขึ้นมันจะเลื่อนไปจนสุดทางด้านซ้ายของบันทึกสูงสุด:
######## <-
#####
ถ้ามันสั้นกว่ามันจะเลื่อนจนกระทั่งขวาสุดชิด:
###### <-
########
#####
ขณะที่ฉันเลื่อนบันทึกลงในกองมากขึ้นตำแหน่งของพวกเขาจะถูกกำหนดโดยบันทึกสูงสุดปัจจุบัน:
##
######
###
####
##
######
########
#####
สิ่งนี้ดูเป็นไปไม่ได้ทางร่างกาย แต่ลองทำเป็นว่ามันใช้ได้
งาน
ข้อมูลที่คุณป้อนจะต้องเป็นรายการจำนวนเต็มบวกที่ไม่ว่างเปล่าซึ่งแสดงถึงความยาวของบันทึกของฉัน จำนวนซ้ายสุดคือบันทึกแรกที่ฉันใส่ไปยังเสาเข็มดังนั้นมันจะจบลงที่ด้านล่าง [5,8,6,2,4,3,6,2]
ในตัวอย่างข้างต้นใส่จะเป็น ผลลัพธ์ของคุณจะต้องมีจำนวนบันทึกที่ข้ามคอลัมน์นั้นแต่ละคอลัมน์ [2,2,3,3,3,2,4,6,3,3,1,2,2]
ในตัวอย่างข้างต้นแสดงผลที่ถูกต้องจะเป็น
กฎและการให้คะแนน
อินพุตและเอาต์พุตสามารถอยู่ในรูปแบบที่สมเหตุสมผล เอาท์พุทสามารถมีจำนวนเต็มบวกคือมันต้องไม่นำหน้าหรือต่อท้าย0
s ใช้กฎการเล่นกอล์ฟรหัสปกติ: คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบการนับจำนวนไบต์ที่ต่ำที่สุดและห้ามไม่ให้มีช่องโหว่มาตรฐาน
กรณีทดสอบ
[1] -> [1]
[4] -> [1,1,1,1]
[3,2] -> [1,2,2]
[2,3] -> [2,2,1]
[2,2,2] -> [3,3]
[2,3,2] -> [2,3,2]
[3,2,3] -> [1,3,3,1]
[1,3,2,2,1,3,1] -> [2,3,5,1,2]
[4,3,4,2,4,3,4,2] -> [1,3,3,5,5,3,4,2]
[5,8,6,2,4,3,6,2] -> [2,2,3,3,3,2,4,6,3,3,1,2,2]
[5,10,15,1,1,1,1,1,2] -> [3,3,3,3,3,2,2,2,2,2,1,1,1,1,7,1]
[13,12,2,10,14,12] -> [1,2,2,2,2,2,2,2,2,2,2,5,5,3,3,3,3,3,3,3,3,2,2,2,2]
[12,14,3,6,13,1,1] -> [2,2,2,2,2,2,2,2,2,2,2,5,4,4,2,2,2,1,1,1,1,1,1,3]
[7,5,12,5,1,10,14,5] -> [1,1,3,3,3,3,3,1,1,2,2,2,2,5,2,2,2,2,2,2,2,2,3,2,2,2,2]
[14,5,1,3,12,6,2,2,1,7,9,15] -> [1,1,1,1,1,1,1,1,1,2,2,2,2,5,2,2,1,1,1,2,2,2,2,4,8,3,3,3,3,3,3,2,2,1,1,1,1,1,1]