พิจารณาสะพานที่มีความยาวB ที่เกิดขึ้นจากการเรียงต่อกันที่มีป้ายกำกับด้วยตัวเลขของจำนวนเต็มบวก ตัวอย่างเช่นถ้าBเป็น 41 แล้วมันจะมีลักษณะเช่นนี้:
----------------------------------------- 12345678910111213141516171819202122232425
ทีนี้ลองนึกภาพรถไฟที่มีความยาวTข้ามสะพาน จุดซ้ายสุดของรถไฟเริ่มต้นที่ตำแหน่งX (ดัชนี 1 ตำแหน่ง) ที่จะได้รับความเข้าใจที่ดีขึ้นของปัญหาที่เกิดขึ้นขอให้โครงการของเหตุการณ์ที่มีB = 41, T = 10, X = 10 รถไฟถูกลากโดยใช้เครื่องหมายเท่ากับ ( =
) และเส้น:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425
รถไฟสามารถเลื่อนในแต่ละขั้นตอนโดยรวมของกระเบื้องที่ไม่ซ้ำกันที่ตั้งอยู่บน ยกตัวอย่างเช่นกระเบื้องรถไฟยืนอยู่บนข้างต้นเป็น: [1, 0, 1, 1, 1, 2, 1, 3, 1, 4]
ที่ไม่ซ้ำกัน (ซ้ำ) กระเบื้อง: และผลรวมของพวกเขาคือ[1, 0, 2, 3, 4]
10
ดังนั้นรถไฟสามารถเลื่อนด้วย10
กระเบื้อง เราควรวาดอีกครั้งและทำซ้ำจนกว่าจุดซ้ายสุดของรถไฟผ่านกระเบื้องสุดท้าย:
__________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 ผลรวมของไพ่ที่ไม่ซ้ำกัน: 1 + 5 + 6 + 7 + 8 + 9 = 36 ขบวนรถไฟก้าวหน้าโดย 36 แผ่น ... __________ | ======== | | ======== | ----------------------------------------- 12345678910111213141516171819202122232425 เห็นได้ชัดว่ารถไฟข้ามสะพานอย่างสมบูรณ์ดังนั้นเราควรหยุดตอนนี้
เนื่องจากผู้คนที่อยู่ข้างในรู้สึกเบื่อพวกเขาจึงนับไพ่ที่รถไฟแล่นได้ในแต่ละครั้ง ในกรณีนี้โดยเฉพาะและ10
36
เมื่อสรุปทุกอย่างแล้วรถไฟก็ขยับ46
ก่อนที่จะผ่านสะพาน
งาน
เมื่อได้รับจำนวนเต็มบวกสามตัวคือB (ความยาวสะพาน), T (ความยาวรถไฟ) และX (ตำแหน่งเริ่มต้น, ดัชนี 1ตำแหน่ง) งานของคุณคือกำหนดจำนวนกระเบื้องที่รถไฟเคลื่อนที่จนกว่าจะข้ามสะพานตามกฎ ข้างบน.
- คุณสามารถสันนิษฐานได้ว่า:
- Bสูงกว่าT
- Xต่ำกว่าB
- Tอย่างน้อย2
- ในที่สุดรถไฟก็ข้ามสะพาน
- ใช้กฎมาตรฐานทั้งหมดของเรา
- นี่คือ รหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
กรณีทดสอบ
อินพุต ([B, T, X]) -> เอาต์พุต [41, 10, 10] -> 46 [40, 10, 10] -> 46 [30, 4, 16] -> 24 [50, 6, 11] -> 50
อีกตัวอย่างการทำงานสำหรับกรณีทดสอบล่าสุด:
สะพานมีความยาว 50, รถไฟ 6, และตำแหน่งเริ่มต้นคือ 11 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 แผ่นที่ไม่ซ้ำกัน: [0, 1, 2] รวม: 3 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 แผ่นที่ไม่ซ้ำกัน: [1, 2, 3, 4] รวม: 10 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 แผ่นที่ไม่ซ้ำกัน: [1, 7, 8, 9] รวม: 25 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 กระเบื้องที่ไม่ซ้ำกัน: [9, 3] รวม: 12 ______ | ==== | | ==== | -------------------------------------------------- 12345678910111213141516171819202122232425262728293 รถไฟมีสะพาน ผลรวมทั้งหมด: 3 + 10 + 25 + 12 = 50
(200, 2, 169)
รถไฟที่ได้รับการติดอยู่ในใน00
…9899100101102…