Bu çok basit: Bir ASCII Gantt şeması yazdırın .
Verilen görev aralıkları (başlangıç zamanı - bitiş zamanı Tuples), -
her görev süresi için karakter biçiminde bir Gantt zaman çizelgesi yazdırın - her görev yeni bir satırda.
Örnek
Diyelim ki görevlerimin aralığı 28->35, 34->40, 39->44
, Gantt şöyle görünecek:
-------
------
-----
Özellikler
- Tam bir program, adlandırılmış bir işlev veya adsız bir işlev yazabilirsiniz.
- Programınız / fonksiyonunuz, görevleri STDIN yoluyla veya argüman olarak kabul etmelidir .
- Her görev bir dizi olarak temsil edilmelidir ve vardır tamsayı . Görevler boşluk veya virgülle ayrılır. Alternatif olarak , bir Tam Sayı Dizisi olarak veya 2 Tam Sayı Dizisi / Dizisi olarak alabilirsiniz. (Örneğin, JavaScript’te bunu şu şekilde alabilirsiniz - buna izin verilir).
start->end
start
end
[start,end]
- Olumsuz sayıda görev (argüman) desteklenmelidir.
Açıklığa kavuşturmak için, görevler toplama tek bir argüman izin verilmez. Tek bir dize bağımsız değişkenini ayrıştırabilir veya sıfır veya daha fazla görev bağımsız değişkenini destekleyebilirsiniz. Görev, bir demet veya 2 büyüklüğünde bir koleksiyon.- Sadece geçerli girdi verileceğini varsayabilirsiniz. Bu, her görevin olumlu bir süresi olduğu anlamına gelir.
- Dönüş değeri önemli değil, kodunuz STDOUT'da zaman çizelgesini yazdırmalı.
- Çıktı: Görev başına,
start
boşlukları ardından(end-start)
tire ve a\n
. - Söylemeye gerek yok, çıkış hatları giriş (görevler) sırasına göre sıralanmalıdır.
\n
Size yardımcı olursa, önce boşluklara izin verilir.
Test durumları
Input:
(empty)
Output:
(empty)
Input:
0->7,5->6,3->6
Output:
-------
-
---
Input:
5->20,5->20,2->10,15->19
Output:
---------------
---------------
--------
----
Kazanan
- Bu kod-golf olduğundan en az kod uzunluğu (bayt cinsinden) kazanır.
- Geleneksel olarak, kravat kırıcı daha erken direk olarak bulunur.
- "Standart boşluklar artık komik değil".
-----
DÜZENLE
Birçoğunuzun, tek bir görev toplama argümanına sahip olduğuna izin verildiğini anladığınız gibi, ve bununla orijinal varargs gereksinimi arasında pek bir fark olmadığı için, şimdi kullanmak istemiyorsanız, şimdi tek bir toplama argümanına sahip olmasına izin verilir. varargs seçeneği veya dilinizin varargs özelliğini desteklememesi durumunda.
arguments
İşlev içinde yinelenebilir , ancak arguments[0]
bunun bir görev dizisi olduğunu varsaymayabilirsiniz .
To make it clear...
) hiç belli değil.