การรับรู้ตำแหน่ง
งานของคุณคือการสร้างโปรแกรมที่สำหรับการเปลี่ยนแปลงตัวละครทุกตัว (ซึ่งรวมถึงโปรแกรมต้นฉบับ) ผลลัพธ์ของตำแหน่งของตัวละครทุกตัวที่สัมพันธ์กับโปรแกรมต้นฉบับ
หากโปรแกรมของคุณคือ
Derp
คุณต้องส่งออก
[0, 1, 2, 3]
(หรือเทียบเท่าบางส่วน) นี้เป็นเพราะD
อยู่ใน0
ตำแหน่ง, th e
อยู่ใน1
St, การวิจัย2
ครั้งและถp
3
ลองอีกโปรแกรมหนึ่งซึ่งเป็นโปรแกรมดั้งเดิม แต่ด้วยตัวอักษรที่อนุญาต:
epDr
คุณต้องส่งออก
[1, 3, 0, 2]
เพราะe
อยู่ใน1
ตำแหน่ง ST ของโปรแกรมเดิมที่p
อยู่ใน3
ตำแหน่งถ, th และครั้งD
0
r
2
หากโปรแกรมดั้งเดิมมีอักขระซ้ำสองตัว:
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
.