Meydan okuma
Boş p
olmayan bir giriş dizesi verildiğinde , kaynak kodundaki her bir karakterin ilk oluşumununs
konumunu veren boş olmayan bir program / işlev yazın .s
p
Örneğin, eğer programınız
main() { cout << magic << cin }
^0 ^5 ^10 ^15 ^20 ^25
ve bir girdi alır abcd{
, çıktı
[1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based)
Burada, x
bir karakter konumu için geçerli bir çıkış değil herhangi bir çıktı temsil eder (örneğin, negatif bir sayı, 0
sen 1 tabanlı indeksleme kullanırsanız, NaN
, Inf
, dize potato
, programınızın uzunluğundan daha büyük bir sayı, vs).
Kısıtlamalar
Kaynak kodun okunmasına izin verilmiyor (uygun bir sırada olduğu gibi). Yorumların kullanımına izin verilir, ancak puanınıza göre sayılır.
Girdi ve çıktı makul bir biçimde yapılabilir, ancak kesin olmalıdır (yalnızca ek sınırlayıcılar, rand
akış yok ve cevabın orada bir yerde olduğunu iddia eden), tutarlı (örneğin, x
yukarıdaki değer her zaman aynı olmalıdır) ve insan- okunabilir ; örneğin, bir dize veya karakter dizisi. Girişin yazdırılabilir ASCII karakterlerinden oluşan bir dize (veya dizi) olduğunu varsayabilirsiniz; Unicode setinin tamamını kullanmanıza gerek yok.
Özel kod sayfası veya kodunuzda yazdırılamayan ascii?
Dil bir özel kod-sayfası (jöle APL, vs) kullanıyorsa, hesaba (bir program böylece atmalıdır €æÆ
zorunluluk çıkışı [1, x, 2]
bir giriş için €%æ
). -1
Her zaman çıktı almak için yalnızca ASCII olmayan karakterleri kullanmak (giriş yalnızca ASCII olduğundan) geçerli bir çözüm değildir. Programınızın özel kod sayfanızı yerel olarak kabul ettiğini varsayabilirsiniz, yani programınız bir karakteri A
bir tamsayıya dönüştürme yöntemine sahipse 65
(ASCII kodlaması), kod sayfanızdaki 65. karakteri dönüştürdüğünü varsayabilirsiniz 65
.
Aşağıdaki zorluktan ilham aldı: Konumsal Farkındalık
01030708070
?