80'lerin TV dizisi Knight Rider , KITT adında akıllı, kendini tanıyan bir arabaya sahipti. Aracın ayırt edici özelliklerinden biri, KITT'in "görmesine" izin veren (ve başka bir önceki TV dizisinin hayranlarına şüpheyle tanıdık gelen) öne monte edilmiş bir tarayıcı çubuğuydu .
Tarayıcıda bu resimde görüldüğü gibi sekiz ışık vardı:
Işıklar bu animasyonlu resimde gösterildiği gibi "hareket etti" .
Göreviniz, şimdiye kadar tahmin ettiğiniz gibi, tarayıcı çubuğunu ASCII sanatında hareketli ışıklarla yeniden oluşturmak.
Meydan okuma
Bir tamsayı verildiğinde t
, tarayıcı çubuğunun durumunu şu anda tanımlanan şu şekilde çıktılayın:
- Tarayıcı sekiz ışıktan oluşur.
- Herhangi bir anda ışıklardan biri aktiftir ve olarak gösterilir
#
. Bazen faaliyet ışıklart-1
vet-2
artık soluk ve olarak gösterilir+
; mevcut aktif ile çakışmadıkça. Işıkların geri kalanı kapalı ve olarak gösterilir-
. - Aktif ışık soldan sağa, sonra sağdan sola hareket eder.
Her t
biri için kesin çıktı aşağıda detaylandırılmıştır.
0 --> #++----- % The leftmost light is active, and it just came from the right.
% The two neighbouring lights are dimmed
1 --> +#------ % The active light has bounced to the right, and it is covering
% one of the two lights that should be dimmed. So there is only
% one dimmed light
2 --> ++#----- % The active light has moved one more step to the right, and the
% two trailing dimmed lights are visible
3 --> -++#----
7 --> -----++#
8 --> ------#+ % The active light has bounced to the left
9 --> -----#++
10 --> ----#++-
13 --> -#++----
14 --> #++----- % Same as 0
15 --> +#------ % Same as 1
t
Döngünün negatif değerleri basitçe genişletilir için:
-1 --> -#++---- % Same as 13
-2 --> --#++--- % Same as 12
Ek kurallar
Bir program veya işlev yazabilirsiniz.
Çıktı, sondaki boşluk ve önde gelen yeni satır içerebilir.
Bayt cinsinden en kısa kod kazanır.