Aralık 2014 ve 2015 neredeyse başladı. Ancak, herkes bunu farketmemiş gibi görünüyor.
Ama PPCG halkı kurtarmaya geliyor!
Giriş
Programınıza duvardaki gibi bir ızgara verilir, Aralık ayında olan günler Kasım ve Ocak aylarındakinden farklı görünür. Her hafta Pazar ile başlar ve Cumartesi ile biter.
Ay içindeki günler a ile temsil edilir #
. Ayın dışında kalan günler (boşluk, ASCII kodu 32) ile temsil edilir . Her hafta ayrı bir satırda. Satırlar yeni satır karakteri (
\n
) ile ayrılır . Programınız, girişin sonunda bir denetim veya yeni satır eklenmesini gerektirebilir.
Örneğin, Aralık 2009 için girdi:
#####
#######
#######
#######
#####
Takvim her zaman Aralık ayıdır.
Görev
Girdi göz önüne alındığında, takvim ile ilişkili yılı bulmalısınız. Bir takvimin eşleştiği birden fazla yıl olduğundan, 2015'e en yakın olan yılı (2015'ten önce) iade etmelisiniz. (2015 hariç).
Programınızın, Aralık için 2015'e yakın bir yıl (2015'ten önce) bir takvim düzenine eşit olanlar hariç, <2015 yılı için doğru çıktıyı üretmesi gerekir.
Yıl <2014 ise, yıl ile 2014 arasındaki farkı da hesaplamanız gerekir. Örneğin, 2012 için fark 2
.
Çıktı
Programınızın çıktısı:
- Metin:
Your calendar is for <year>.
(Not: Bu başlangıçta “takvim” olarak yazıldığından, bu yazımı da kabul edeceğim.) - Ardından bir satırsonu (
\n
veya\r\n
) gelir. - Ardından metin:
It's almost 2015.
- Yıl <2014 ise, bunu metin takip
You're <difference> years behind.
etmelidir : Bu ayrı bir satırda olmalıdır. - Ardından bir satırsonu (
\n
veya\r\n
) gelir. - Ardından metin:
Go buy a new calendar!
- İsteğe bağlı olarak bir satırsonu (
\n
veya\r\n
) gelir.
kurallar
- Takvimi komut satırı bağımsız değişkeni (örneğin
yourprogram.exe <calendar>
) veya kullanıcı girişi istemi olarak almak isteyip istemediğinizi seçebilirsiniz . - Programınızın geçersiz girdi almayacağını varsayabilirsiniz. Geçersiz girdi, yılı olmayan takvim düzenini içeriyor.
- En kısa kod (bayt cinsinden, herhangi bir dilde) kazanır.
Standart olmayan tüm komut satırı bağımsız değişkenleri (bir komut dosyasını çalıştırmak için normalde gerekli olmayan bağımsız değişkenler) toplam karakter sayısına dahil edilir.
Programınızın yapmaması gerekenler:
- Harici kaynaklara bağlı.
- Belirli bir dosya adına sahip olduğunuza bağlıdır.
- Gerekli çıktıdan başka bir çıktı alın.
- Koşmak için olağanüstü uzun zaman ayırın. Programınız ortalama bir ev kullanıcısının bilgisayarında bir dakikadan fazla çalışıyorsa geçersizdir.
- Programınız, bu meydan okuma gönderilmeden önce herkese açık bir derleyici / yorumlayıcı bulunmayan bir programlama dilinde yazılmamalıdır.
Örnekler
Giriş:
#####
#######
#######
#######
#####
Çıktı:
Your calendar is for 2009.
It's almost 2015.
You're 5 years behind.
Go buy a new calendar!
Giriş:
######
#######
#######
#######
####
Çıktı:
Your calendar is for 2014.
It's almost 2015.
Go buy a new calendar!
Giriş:
#
#######
#######
#######
#######
##
Çıktı:
Your calendar is for 2012.
It's almost 2015.
You're 2 years behind.
Go buy a new calendar!