การรับรู้ตำแหน่ง
งานของคุณคือการสร้างโปรแกรมที่สำหรับการเปลี่ยนแปลงตัวละครทุกตัว (ซึ่งรวมถึงโปรแกรมต้นฉบับ) ผลลัพธ์ของตำแหน่งของตัวละครทุกตัวที่สัมพันธ์กับโปรแกรมต้นฉบับ
หากโปรแกรมของคุณคือ
Derp
คุณต้องส่งออก
[0, 1, 2, 3]
(หรือเทียบเท่าบางส่วน) นี้เป็นเพราะDอยู่ใน0ตำแหน่ง, th eอยู่ใน1St, การวิจัย2ครั้งและถp3
ลองอีกโปรแกรมหนึ่งซึ่งเป็นโปรแกรมดั้งเดิม แต่ด้วยตัวอักษรที่อนุญาต:
epDr
คุณต้องส่งออก
[1, 3, 0, 2]
เพราะeอยู่ใน1ตำแหน่ง ST ของโปรแกรมเดิมที่pอยู่ใน3ตำแหน่งถ, th และครั้งD0r2
หากโปรแกรมดั้งเดิมมีอักขระซ้ำสองตัว:
abcda -> [0, 1, 2, 3, 4]
จากนั้นสำหรับการเรียงสับเปลี่ยน, 0และ4ในแถวลำดับจะต้องเรียงลำดับจากน้อยไปมาก:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
กฎ:
- โปรแกรมของคุณต้องมีอักขระที่ไม่ซ้ำอย่างน้อยสองตัว
floor(n/2)อักขระส่วนใหญ่จะต้องเหมือนกันaabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)เอาต์พุตของโปรแกรมของคุณอาจเป็นอาเรย์ (หรือบางอย่างที่คล้ายกัน) ที่มีตำแหน่งอักขระทั้งหมดตามลำดับหรือสตริงที่มีตัวคั่นใด ๆ ดังนั้นสิ่งเหล่านี้จึงเป็นสิ่งที่ดีอย่างสมบูรณ์:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
12ใน R จะใช้ได้หรือไม่ มันก็จะพิมพ์12และถ้าอนุญาต; 21.