ฉันชอบเวลาที่เป็นไปตามรูปแบบบางอย่าง โดยเฉพาะอย่างยิ่งฉันชอบเวลาที่ตัวเลขทั้งหมดเหมือนกันหรือตัวเลขทั้งหมดเพิ่มขึ้นแบบเลขคณิตโดยหนึ่งจากซ้ายไปขวา นอกจากนี้ฉันเกลียดอย่างเห็นได้ชัดเมื่อมีคนใส่ตัวอักษรในเวลาของฉันดังนั้นเรื่องไร้สาระของ AM / PM ทั้งหมดนั้นก็ตายไปแล้วสำหรับฉัน ดังนั้นเวลาที่ฉันชอบคือ:
0000 0123 1111 1234 2222 2345
เพื่อความสบายใจของฉันฉันต้องการให้คุณเขียนโปรแกรมเดียวที่ให้เวลาปัจจุบันเป็นอินพุตทั้งสอง: (A)ถ้าไม่ใช่ตอนที่ฉันโปรดปรานโปรดบอกฉันทั้งสองว่ากี่นาที นับตั้งแต่เวลาที่ฉันโปรดปรานครั้งสุดท้ายและ (ii) กี่นาทีนับจากนี้เวลาที่ฉันโปรดปรานต่อไปจะเกิดขึ้น; และ(ข)ถ้ามันเป็นหนึ่งในครั้งที่ชื่นชอบวัสดุเดียว 'ค่าสัญญาณ'
อินพุต
โปรแกรมของคุณควรยอมรับ (ไม่ว่าจะด้วยวิธีใด: อาร์กิวเมนต์ฟังก์ชันstdin
, อาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ ) เวลาปัจจุบันในรูปแบบใดรูปแบบต่อไปนี้:
เวลาสี่หลักเป็นสตริง
จำนวนเต็มที่สามารถเป็นศูนย์ทางด้านซ้ายเพื่อให้เวลาสี่หลักเป็นสตริง
ลำดับของเลขจำนวนเต็มสี่ตัว (หรือน้อยกว่า) เรียงตามลำดับที่จำนวนเต็มตัวแรกในลำดับคือหลักซ้ายสุด (สำคัญ) ในการป้อนเวลา (เช่น
0951
สามารถแทนได้อย่างถูกต้องในฐานะ[0, 9, 5, 1]
หรือ[9, 5, 1]
)- แสดง
0000
ว่าเป็นลำดับที่มีความยาวเป็นศูนย์
- แสดง
ในกรณีที่มีการป้อนสตริงควรเท่านั้นประกอบด้วยตัวเลขไม่มีทวิภาคหรือเครื่องหมายวรรคตอนอื่น ๆ ปัจจัยการผลิตสามารถสันนิษฐานได้อยู่เสมอที่จะถูกต้องเวลา 24 ชั่วโมง: HHMM
ที่และ0 <= HH <= 23
0 <= MM <= 59
ไม่สนใจความเป็นไปได้ของการกระโดดครั้งที่สอง
เอาท์พุต
โปรแกรมของคุณจะต้องจัดหา (ฟังก์ชันส่งคืนstdout
และอื่น ๆ ก็ใช้ได้) (A)หรือ(B)ตามความเหมาะสมว่าค่าอินพุตเป็นเวลาเป้าหมายหรือไม่
สำหรับ):
ระบุค่าตัวเลขสองค่าในรูปแบบที่เหมาะสมเช่น:
เอาต์พุตสตริงเดี่ยวพร้อมตัวคั่นที่เหมาะสม
เอาต์พุตจำนวนเต็ม / สตริงตามลำดับเช่น
bash
การพิมพ์สองบรรทัดไปที่stdout
:49 34
ค่าส่งคืนที่มีความยาวสองคำสั่งเช่นรายการ Python อาร์เรย์ C เป็นต้น
[49, 34]
ค่าสามารถมาในลำดับใดก็ได้ ตัวอย่างเช่นทั้งสองอย่างต่อไปนี้เป็นเอาต์พุตที่ถูกต้องสำหรับอินพุต1200
:
49 34
34 49
คำสั่งซื้อและตัวคั่นจะต้องเหมือนกันสำหรับค่าอินพุตทั้งหมด!
สำหรับ (B):
สร้างผลลัพธ์ที่ไม่สามารถบรรลุได้เป็นอย่างอื่น ผลลัพธ์เดียวกันจะต้องสร้างขึ้นสำหรับเป้าหมายทั้งหกครั้ง ไม่ จำกัด ลูปไม่ จำกัด
ตัวอย่างอินพุต / เอาท์พุต
YAY!!!
ใช้ที่นี่เป็นตัวอย่างที่แสดงให้เห็นและไม่ได้กำหนด
Input Output
------ --------
0000 YAY!!!
0020 20 63
0105 65 18
0122 82 1
0123 YAY!!!
0124 1 587
0852 449 139
1111 YAY!!!
1113 2 81
1200 49 34
1234 YAY!!!
1357 83 505
1759 325 263
1800 326 262
1801 327 261
2222 YAY!!!
2244 22 61
2345 YAY!!!
2351 6 9
นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต