มีnกล่องหมายเลข1-n แต่ละกล่องถูกล็อคเพื่อให้สามารถเปิดได้โดยใช้คีย์ที่เกี่ยวข้องประเภทเดียวเท่านั้น (เช่นหมายเลข1-n ) คีย์เหล่านี้กระจายอยู่แบบสุ่มในกล่อง (หนึ่งกล่องอาจมีจำนวนของคีย์ใด ๆ หนึ่งคีย์อาจมีจำนวนซ้ำกัน) จากนั้นกล่องทั้งหมดจะถูกปิด สมบัติ (หมายเลข0 ) ถูกล็อคในกล่องจำนวนมากเช่นกัน
คุณได้ว่าจ้างช่างทำกุญแจเพื่อเรียกคืนสมบัติทั้งหมด เขาคิดค่าบริการสำหรับแต่ละกล่องที่เขาเปิดแตก ไม่มีค่าใช้จ่ายในการเปิดกล่องซึ่งมีกุญแจอยู่แล้ว
อินพุตเป็นเนื้อหาของแต่ละกล่อง คุณสามารถตัดสินใจรูปแบบของอินพุต
ส่งออกค่าใช้จ่ายขั้นต่ำที่จำเป็นในการรับสมบัติ
หมายเหตุ
- อัลกอริทึมของคุณอาจใช้เวลานาน แต่ไม่เกี่ยวข้อง
- รหัสที่สั้นที่สุดชนะ
- ไม่จำเป็นต้องกังวลเกี่ยวกับอินพุตที่ไม่ถูกต้อง
ข้อมูลตัวอย่าง
นี่คือสายผมหมายถึงกุญแจอยู่ในกล่องฉัน
อินพุต
2 0
3
4 0
5 6 0
6
0
เอาท์พุต
1
อินพุต
2 0
3 0
4 0
6
5 0
เอาท์พุต
3
อินพุต
2 4 0
3 0
1 0
6
5 0
เอาท์พุต
2
อินพุต
1
3 4
2 6
5
เอาท์พุต
0
[[1] [3 4] [] [] [2 6] [5]]
{{1},{3,4},{},{},{2,6},{5}}
ด้วยวิธีนี้ภาษาส่วนใหญ่สามารถลดการอ่านการป้อนข้อมูลให้กับสิ่งที่ไม่สำคัญi=eval(read())
และมุ่งเน้นไปที่ส่วนที่สนุกของความท้าทาย