{"problem":{"name":"[ZSHOI-R1] 河外塔（加强版）","description":{"content":"但是，你可能没有听过河外塔问题。虽然但是，好像并没有河外塔问题。于是，伟大的 X_Xy 决定创造一个河外塔问题。 既然是河内塔问题的延申，就得有些一样的东西：有三个柱子  $A$，$B$ 和 $C$ ，以及 $n$ 个圆盘，其中编号为 $i$ 的圆盘的半径长为 $i$，这些圆盘最开始都在 $A$ 上，最终都要顺序（即从上往下从小到大）地移到 $C$ 上。 既然是河内塔问题的延伸，就得有些不同的","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":262144},"difficulty":{"LuoguStyle":"P5"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9452"},"statements":[{"statement_type":"Markdown","content":"但是，你可能没有听过河外塔问题。虽然但是，好像并没有河外塔问题。于是，伟大的 X_Xy 决定创造一个河外塔问题。\n\n既然是河内塔问题的延申，就得有些一样的东西：有三个柱子 \n$A$，$B$ 和 $C$ ，以及 $n$ 个圆盘，其中编号为 $i$ 的圆盘的半径长为 $i$，这些圆盘最开始都在 $A$ 上，最终都要顺序（即从上往下从小到大）地移到 $C$ 上。\n\n既然是河内塔问题的延伸，就得有些不同的东西：最开始在 $A$ 上面的圆盘并不是顺序的，由于这个限制，我们也不在意移动过程中的顺序，也就意味着你可以将一个大的圆盘放在小的圆盘上。\n\n但是 X_Xy 很懒，他只想让你操作至多 $10^6$ 次。\n\n## Input\n\n输入共两行。\n\n第一行有一个数 $n$，表示圆盘的数量。\n\n第二行有 $n$ 个数，表示 $A$ 上所有的圆盘**从上往下**的标号，保证圆盘构成一个 $1\\sim n$ 的排列。\n\n## Output\n\n共若干行。\n\n第一行有一个数 $tot$，表示你的操作数。\n\n接下来的第 $2$ 到第 $tot$ 行，每行两个用空格隔开的大写字母，第 $i+1$ 行表示你的第 $i$ 次操作是从某立柱移到了另一个上。\n\n[samples]\n\n## Background\n\n河内塔（又称汉诺塔）问题，就是在一块木板上有三个立柱，在柱 1 上放着三个圆盘，小的在上面，大的在下面（初始状态）。让被试将在柱 1 上的三个圆盘移到柱 3 上面（目标状态）。条件是：每次只能移动任何一个柱子上面的一个圆盘，但大的圆盘不能放在小的圆盘上。\n\n通用问题解决者的解决过程即是手段——目的分析的策略。\n\n## Note\n\n对于所有数据点：$1\\leqslant n \\leqslant 4\\times 10^4$\n\n| 数据点 | n |\n| :----------: | :----------: |\n| 1~2 | $\\leqslant 10$ |\n| 3~4 | $\\leqslant 200$ |\n| 5~7 | $\\leqslant 3\\times 10^4 $ |\n| 8~10 | $\\leqslant 4\\times 10^4 $ |","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9452","tags":["Special Judge"],"sample_group":[["3\n1 2 3","5\nA B\nA B\nA C\nB C\nB C"]],"created_at":"2026-03-03 11:09:25"}}