1 开始)需要把当前第 i 个位置的字母接到序列末尾。pos 指向当前要取走的字母。每次操作:
2 个仍然有效的字母,停在第 2 个上。这是因为:取走当前第 i 个有效字母后,新序列中下一次要取的是第 i+1 个位置,相当于在「剩余有效字母」上再往右数一个。pos 只会向右移动,总共移动 O(n) 次,因此整场模拟是线性的。最后按顺序输出所有未被标记的字母即可。一条灯牌上从左到右排列着 n 盏小灯,每盏小灯显示一个小写英文字母。将这些字母依次拼接,得到长度为 n 的字符串 s,下标从 1 开始。
管理员会依次执行 n 次「尾部轮转」:在第 i 次操作时,把当前位于第 i 个位置的小灯取下,接到灯牌的最右端,其余小灯的相对顺序保持不变。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.