ข้อจำกัดความรับผิดชอบ: แม้ว่าฉันจะอยู่บนไซต์นี้เพื่อความบันเทิงสักครู่ แต่ตอนนี้เป็นคำถามแรกของฉันดังนั้นโปรดให้อภัยข้อผิดพลาดเล็กน้อย
พื้นหลัง
เมื่อทำการบ้านกับเราอาจารย์ของฉันน่ารำคาญจริง ๆ และเขียนปัญหาทั้งหมดที่เราต้องทำแยกกัน เช่นนี้ฉันต้องใช้เวลาตลอดไปในการคัดลอกปัญหาที่ฉันต้องทำ ฉันคิดว่าจะทำให้ชีวิตของฉันง่ายขึ้นฉันจะส่งโปรแกรมที่ทำให้รายการปัญหาใช้พื้นที่น้อยลง
ขณะที่เขียนรายการหน้าหรือหมายเลขปัญหาเราใช้เส้นประเพื่อแสดงช่วง ยกตัวอย่างเช่นจะกลายเป็น19-21
19, 20, 21
ถ้ามีช่องว่างในระหว่างสองช่วงคั่นด้วยเครื่องหมายจุลภาคมีการใช้จะกลายเป็น19-21, 27-31
ตอนนี้คุณอาจกำลังคิดว่า: "นี่มันช่างน่ารำคาญ" ในความเป็นจริงนี้ได้รับการตอบแล้วที่นี่และที่นี่19, 20, 21, 27, 28, 29, 30, 31
อย่างไรก็ตามมีการจับเป็น หากเรามีช่วงที่มีตัวเลขที่ต่อเนื่องกันจำนวนหลักซ้ำสามารถถูกปล่อยออกมาได้ ตัวอย่างเช่น: 15, 16, 17
กลายเป็น15-7
และจะกลายเป็น107, 108, 109
107-9
สำหรับโบนัสหากตัวเลขหลักสุดท้ายที่ต่อเนื่องกันคือ 1 ที่มากกว่าและตัวเลขสุดท้ายของขีด จำกัด บนคือน้อยกว่าหรือเท่ากับของต่ำกว่าคุณสามารถละเว้นได้ดังต่อไปนี้ (ขออภัยถ้าฟังดูสับสน; . 109-113
กลาย109-3
เป็นเป็นตัวเลขสุดท้ายที่ต่ำกว่าหมายถึงการเพิ่มสถานที่ 10s
ท้าทาย
โปรแกรมของคุณควรบันทึกรายการจำนวนเต็มผ่านอินพุต (อะไรก็ได้ที่เป็นมาตรฐานสำหรับภาษาของคุณหรือฟังก์ชั่น) คุณสามารถตัดสินใจได้ว่ารายการนี้คั่นด้วยเครื่องหมายจุลภาคคั่นด้วยช่องว่างหรือเป็นรายการ / อาร์เรย์จริง
เอาท์พุทวิธีที่สั้นที่สุด (เรียงลำดับแรกตามจำนวนของช่วงจากนั้นผลรวมของตัวละครรวมอยู่ในช่วง) เพื่อเป็นตัวแทนของรายการที่ใช้สัญกรณ์นี้ แต่ละช่วงประต้องอยู่ในบรรทัดเดียวกัน แต่สามารถคั่นช่วงด้วยเครื่องหมายจุลภาคหรือบรรทัดใหม่ (อนุญาตให้ขึ้นบรรทัดใหม่หรือเครื่องหมายจุลภาคต่อท้าย) ช่วงเหล่านี้จะต้องอยู่ในลำดับ
เนื่องจากโรงเรียน Wi-Fi ของเราแย่มากฉันต้องทำให้ไฟล์เล็กที่สุดเท่าที่จะเป็นไปได้เพื่อส่งให้เขา รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ
โบนัส
ครูของฉันเลอะเทอะดังนั้นมีบางสิ่งที่จะช่วยเขาออกมา โบนัสหลายรายการซ้อนทับกันในการคูณเช่นโบนัส -10% (x 90%) และโบนัส -25% (x 75%) = 90% * 75% = x 67.5% (-32.5% โบนัส)
- บางครั้งเขาทำให้พวกเขาอยู่ในลำดับที่ไม่ถูกต้อง (เขาไม่ใช่ครูคณิตศาสตร์) รับโบนัส -20% หากโปรแกรมของคุณสามารถรับจำนวนเต็มที่ไม่ได้เรียงอย่างน้อยไปมาก
- หนังสือของเราแปลกและแต่ละส่วนก็เริ่มนับปัญหาที่ -10 หากโปรแกรมของคุณสามารถรับตัวเลขติดลบได้ให้ใช้ -25%
- หากยอมรับโบนัสของตัวเลขหลักสุดท้ายที่ต่ำกว่าจะเพิ่มตำแหน่ง 10 เช่น
25-32
ลดให้25-2
ใช้โบนัส -50%
กรณีทดสอบ
In: 1, 2, 3, 4, 5
Out: 1-5
In: 3, 4, 5, 9, 10, 11, 12
Out: 3-5, 9-12
In: 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160
Out: 149-60
In: 1 2 3 4
Out: 1-4
For bonuses:
In: 109, 110, 111, 112, 113
Out: 109-3
In: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
Out: 19-9
In: -3, -2, -1, 0, 1, 2
Out: -3-2
In: -3, -2, -1
Out: -3--1
คำตอบจะได้รับการยอมรับในวันเสาร์ที่ 19 ธันวาคม 2558
GLHF!
149 150 151 152 153 154 155 156 157 178 159 160
?
19-9
สำหรับการ19,20,...,29
และไม่ได้19-29
เป็นข้อความที่แสดงถึง ดังนั้นสิ่งที่ถูกต้อง?
1-4 9-2
?