Những chữ cái đầu tiên , hãy di chuyển! đã rất phổ biến, nhưng đã tham gia hạn chế. Điều này sẽ dễ dàng hơn để giải quyết, nhưng hy vọng liên quan đến một số thủ thuật trong việc chơi golf.
Bạn được cung cấp một chuỗi các chữ cái thường. Đối với mỗi chữ cái, với vị trí trong bảng chữ cái m , di chuyển nó để nó trở thành chữ cái thứ m từ cuối. Nếu giá trị của m dài hơn độ dài của chuỗi, di chuyển nó về phía trước. Chỉ xuất ra chuỗi biến đổi hoàn toàn.
Ví dụ:
"hươu cao cổ"
- 'G' là chữ cái thứ 7 trong bảng chữ cái, nó đã là chữ cái thứ 7 từ phía sau, vì vậy hãy để lại nó.
- 'i' là chữ cái thứ 9, vì 9 lớn hơn độ dài của từ, nó đi về phía trước, vì vậy chuỗi trở thành
igraffe
- 'r' là chữ cái thứ 18, giống như 'i' nó đi ra phía trước:
rigaffe
- 'a' là chữ cái đầu tiên, nó đi đến cuối cùng:
rigffea
- 'f' là chữ cái thứ 6, nó trở thành chữ cái thứ 6 từ phía sau:
rfigfea
- 'f' tiếp theo cũng là chữ cái thứ 6, vì vậy nó cũng đi đến chữ số 6 từ phía sau:
rffigea
- 'e' là chữ cái thứ 5, nó đi đến thứ 5 từ phía sau:
rfefiga
"bông hoa"
- 'f' (6) =>
flower
- 'l' (12) =>
lfower
- '' '(15) =>
olfwer
- 'w' (23) =>
wolfer
- 'e' (5) =>
weolfr
- 'r' (18) =>
rweolf
"Trái dứa"
- 'p' (16) =>
pineapple
- 'i' (9) =>
ipneapple
- 'N' (14) =>
nipeapple
- 'e' (5) =>
nipaepple
- 'a' (1) =>
nipepplea
- 'p' (16) =>
pnipeplea
- 'p' (16) =>
ppnipelea
- 'l' (12) =>
lppnipeea
- 'e' (5) =>
lppneipea
(đảm bảo bạn di chuyển e chưa được di chuyển! Ở đây không có vấn đề gì, nhưng bên dưới thì không.)
Cảm ơn @Neil vì đã cải thiện các trường hợp thử nghiệm với 3 bổ sung sau:
"pizza"
- 'p' (16) =>
pizza
- 'i' (9) =>
ipzza
- 'z' (26) =>
zipza
- 'z' (26) =>
zzipa
(di chuyển z thứ hai!) - 'a' (1) =>
zzipa
"abracadabra"
- 'a' (1) =>
bracadabraa
- 'b' (2) =>
racadabraba
- 'r' (18) =>
racadabraba
- 'a' (1) =>
rcadabrabaa
- 'c' (3) =>
radabrabcaa
- 'a' (1) =>
rdabrabcaaa
- 'd' (4) =>
rabrabcdaaa
- 'a' (1) =>
rbrabcdaaaa
- 'b' (2) =>
rrabcdaaaba
- 'r' (18) =>
rrabcdaaaba
- 'a' (1) =>
rrbcdaaabaa
"nhân vật"
- 'c' (3) =>
haractecrs
- 'h' (8) =>
arhactecrs
- 'a' (1) =>
rhactecrsa
- 'r' (18) =>
rhactecrsa
- 'a' (1) =>
rhctecrsaa
- 'c' (3) =>
rhtecrscaa
- 't' (20) =>
trhecrscaa
- 'e' (5) =>
trhcrescaa
- 'r' (18) =>
rtrhcescaa
- 's' (19) =>
srtrhcecaa