นี่คือหนึ่งที่ง่าย: พิมพ์ ASCII แผนภูมิแกนต์
กำหนดช่วงงาน '(เริ่มต้น - Tuples เวลาสิ้นสุด) พิมพ์ Gantt Timeline ในรูปแบบของ-
ตัวละครสำหรับแต่ละระยะเวลางาน - แต่ละงานในบรรทัดใหม่
ตัวอย่าง
สมมติว่างานของฉันอยู่ในช่วง28->35, 34->40, 39->44
Gantt จะมีลักษณะเช่นนี้:
-------
------
-----
ข้อมูลจำเพาะ
- คุณสามารถเขียนโปรแกรมเต็มฟังก์ชั่นที่มีชื่อหรือฟังก์ชั่นที่ไม่ระบุชื่อ
- โปรแกรมของคุณ / ฟังก์ชั่นควรจะยอมรับงานผ่าน STDIN หรือเป็นข้อโต้แย้ง
- งานแต่ละงานควรจะแสดงเป็นสตริงของ
start->end
ที่start
และend
เป็นจำนวนเต็ม งานถูกคั่นด้วยช่องว่างหรือเครื่องหมายจุลภาค อีกวิธีหนึ่งคุณอาจได้รับเป็น Tuple of Integers หรือ Array / Collection 2 Integers (ตัวอย่างเช่นใน JavaScript คุณสามารถรับมัน[start,end]
- เป็นสิ่งที่ได้รับอนุญาต) - ควรสนับสนุนจำนวนงานที่ไม่เป็นลบ (อาร์กิวเมนต์) ใด ๆ
เพื่อให้ชัดเจนไม่อนุญาตให้มีการรวบรวมอาร์กิวเมนต์งานเดียว คุณสามารถแยกอาร์กิวเมนต์สตริงเดี่ยวหรือสนับสนุนอาร์กิวเมนต์ของภารกิจที่มากกว่าหรือมากกว่าก็ได้ โดยที่ task คือ tuple หรือชุดของขนาด 2- คุณสามารถสันนิษฐานได้ว่าป้อนข้อมูลที่ถูกต้องเท่านั้น ซึ่งหมายความว่าแต่ละงานมีระยะเวลาบวก
- ค่าส่งคืนไม่สำคัญรหัสของคุณจะต้องพิมพ์เส้นเวลาบน STDOUT
- เอาท์พุท: ต่องาน
start
ช่องว่างตามด้วยเครื่องหมายขีดกลางและ(end-start)
\n
- ไม่จำเป็นต้องพูดบรรทัดเอาท์พุทควรสั่งให้สอดคล้องกับคำสั่งอินพุต (งาน)
- ต่อท้ายช่องว่างก่อนที่
\n
จะอนุญาตถ้านั่นช่วยคุณ
กรณีทดสอบ
Input:
(empty)
Output:
(empty)
Input:
0->7,5->6,3->6
Output:
-------
-
---
Input:
5->20,5->20,2->10,15->19
Output:
---------------
---------------
--------
----
การชนะ
- นี่คือโค้ดกอล์ฟเพื่อให้ความยาวรหัสน้อยที่สุด (เป็นไบต์) ชนะ
- ตามเนื้อผ้าไทเบรกเกอร์โพสต์ก่อนหน้านี้
- "ช่องโหว่มาตรฐานไม่ตลกอีกต่อไป"
-----
แก้ไข
ตามที่คุณหลายคนเข้าใจว่ามันได้รับอนุญาตให้มีอาร์กิวเมนต์การรวบรวมงานเดี่ยวและเนื่องจากไม่มีความแตกต่างระหว่างความต้องการนั้นและความต้องการ varargsดั้งเดิมตอนนี้จึงอนุญาตให้มีอาร์กิวเมนต์การรวบรวมเดี่ยวหากคุณไม่ต้องการใช้ ตัวเลือก varargs หรือในกรณีที่ภาษาของคุณไม่รองรับ varargs
arguments
ภายในฟังก์ชัน แต่คุณอาจไม่คิดว่าarguments[0]
มันเป็นงานที่ต้องทำมากมาย
To make it clear...
) ไม่ชัดเจนเลย