Konumsal Farkındalık
Göreviniz, karakterlerinin her permütasyonu için (orijinal programı içeren), her karakterin orijinal programa göre konumlarını veren bir program oluşturmaktır.
Programınız
Derp
çıktı almalısın
[0, 1, 2, 3]
(veya eşdeğeri). Bunun nedeni ise Diçindedir 0inci pozisyonunda, eolduğu 1, st r 2nd ve rd.p3
Orijinal program olan başka bir program alalım, ancak karakterleri izin verildi:
epDr
Çıktı almalısınız
[1, 3, 0, 2]
Çünkü eiçindedir 1orijinal programın st pozisyonunda, polduğu 3rd pozisyonunda, th ve nd.D0r2
Orijinal programın yinelenen iki karakteri varsa:
abcda -> [0, 1, 2, 3, 4]
Daha sonra permütasyon için, 0ve 4dizi içinde artan olmalıdır:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Kurallar:
- Programınız en az iki benzersiz karakter içermelidir.
Çoğu
floor(n/2)karakter aynı olmalıdır.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)Programınızın çıktısı, sırayla tüm karakterlerin konumlarını içeren bir dizi (veya benzer bir şey) veya herhangi bir sınırlayıcıya sahip bir dize olabilir;
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
12R'deki program geçerli olur mu? Sadece yazdırır 12ve izin verilirse; 21.