Meydan okuma
Boş polmayan bir giriş dizesi verildiğinde , kaynak kodundaki her bir karakterin ilk oluşumununs konumunu veren boş olmayan bir program / işlev yazın .sp
Ö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, xbir karakter konumu için geçerli bir çıkış değil herhangi bir çıktı temsil eder (örneğin, negatif bir sayı, 0sen 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, randakış yok ve cevabın orada bir yerde olduğunu iddia eden), tutarlı (örneğin, xyukarı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 €%æ). -1Her 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 Abir 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?