บทนำ:
ที่บ้านเรามีนาฬิกาที่นัดเวลาตามที่ระบุไว้ในแต่ละชั่วโมง แต่ก็นัดกันทุกครึ่งชั่วโมง ดังนั้นจาก 0:01 ถึงและรวมถึง 12:00 มันนัดในลำดับนี้:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
ท้าทาย:
ได้รับจำนวนเต็มออกรายการของกรอบเวลาที่นัดรวมเท่ากับn
n
นอกจากนี้ให้เริ่มอย่างน้อย 1 นาทีก่อนกำหนดกรอบเวลานี้และสิ้นสุดอย่างน้อย 1 นาทีหลังจากกรอบเวลานี้ (และไม่เกิน 29 นาที)
ตัวอย่างเช่นถ้าอินพุตn=8
เอาต์พุตอาจเป็น:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
ซึ่งกรอบเวลาเหล่านี้มีผลรวมต่อไปนี้เท่ากับทั้งหมด8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
กฏท้าทาย:
- ผลผลิตมีความยืดหยุ่น คุณสามารถส่งออกเป็นวัตถุ Time (หรือ Date / DateTime), timestamps, strings (โดยมีหรือไม่มีเลขศูนย์นำหน้า), ทศนิยมด้วย
.29
/.31
/.59
/.01
(เช่น0.29-3.01
แทน00:29-03:01
) เป็นต้นตราบใดที่มันชัดเจนก่อนและหลังกรอบเวลา .
นอกจากนี้คุณสามารถเลือกจำนวนเงินด้วยตัวเอง ในตัวอย่างทั้งหมดของฉันฉันใช้ 1 นาที แต่คุณสามารถเลือก 5 นาที 15 นาทีเป็นต้นซึ่งหมายความว่าคุณสามารถใช้.4
/.6
/.9
/.1
(เช่น0.4-3.1
แทน00:24-03:06
) ได้ รายการนี้ยังมีความยืดหยุ่น สามารถเป็นลิสต์ / คอลเลกชัน, อาเรย์, สตริงที่คั่นด้วยตัวคั่น, การพิมพ์ต่อบรรทัดไปยัง STDOUT, ฯลฯ
โปรดระบุตัวเลือกผลลัพธ์ที่คุณได้เลือกไว้หมายเหตุ: คุณไม่ได้รับอนุญาตให้แสดงผลรวมของกรอบเวลาดังกล่าวข้างต้นซึ่งจะกล่าวถึงเป็นการชี้แจงเท่านั้น คุณต้องส่งออกกรอบเวลารวมถึงก่อนและหลังเล็กน้อย - นัดไม่ห่อรอบจากไป
12:00
00:30
ดังนั้นถ้าn=14
สองช่วงเวลาเป็น11:29-00:31
และ11:59-01:01
และ - อินพุตจะอยู่ในช่วง
1 <= n <= 90
โดยที่ 90 คือผลรวมของการโจมตีที่เป็นไปได้ทั้งหมด - กรอบเวลาที่คุณส่งคืนสามารถอยู่ในลำดับใดก็ได้
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - ใช้กฎมาตรฐานสำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีที่มีพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
(ทั้งหมดใช้ 1 นาทีก่อน / หลังกรอบเวลาและเลขศูนย์นำหน้า)
Input: 8
Ouput:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
Input: 14
Output:
[00:29-04:01, 00:59-04:31, 02:59-05:01, 04:29-06:31, 05:59-07:01, 11:29-00:31, 11:59-01:01]
Input: 90
Output:
[00:29-00:01, 00:59-00:31, 01:29-01:01, 01:59-01:31, 02:29-02:01, 02:59-02:31, 03:29-03:01, 03:59-03:31, 04:29-04:01, 04:59-04:31, 05:29-05:01, 05:59-05:31, 06:29-06:01, 06:59-06:31, 07:29-07:01, 07:59-07:31, 08:29-08:01, 08:59-08:31, 09:29-09:01, 09:59-09:31, 10:29-10:01, 10:59-10:31, 11:29-11:01, 11:59-11:31]
Input: 1
Output:
[00:29-00:31, 00:59-01:01, 01:29-01:31, 02:29-02:31, 03:29-03:31, 04:29-04:31, 05:29-05:31, 06:29-06:31, 07:29-07:31, 08:29-08:31, 09:29-09:31, 10:29-10:31, 11:29-11:31]
Input: 2
Output:
[00:29-01:01, 00:59-01:31, 01:59-02:01]
.4
/ .6
/ .9
/ .1
(เป็น 6 นาทีตามที่คุณระบุไว้: :24
/ :36
/ :54
/ :06
)