#5416. Problem 3. Swap to Win
0
Problem 3. Swap to Win
问题 3. 交换以获胜 (Swap to Win)
USACO 2026 第三次竞赛,Bronze 组
农夫约翰有一个他最喜欢的长度为 的字符串 。他还有 个长度都为 的字符串 ()。
农夫约翰可以执行以下两种类型的操作:
- 农夫约翰选择任意一个字符串 和两个索引 和 。然后,他交换 的第 个和第 个字符()。
- 农夫约翰选择两个字符串 和 以及一个索引 。然后,他交换 和 的第 个字符()。
他的目标是使 等于 。请找出任何一个能实现他目标的操作序列。由于农夫约翰很着急,他最多只能执行总共 次操作。输入保证一定可以实现农夫约翰的目标。所有字符串都包含小写英文字母 (a-z)。
输入格式 (输入从终端/stdin接收):
第一行包含 (),即独立测试用例的数量。 每个测试用以下格式指定:
第一行包含 和 。
第二行包含目标字符串 。
接着是 行,第 行包含字符串 。
输入保证可以实现目标。所有字符串都包含小写英文字母 (a-z)。
输出格式 (输出到终端/stdout):
对于每个测试用例,在单独的一行上输出以下内容:
在第一行,输出一个整数 ,表示你将执行的操作数。 必须是一个非负整数且小于或等于 。
然后,输出 行,按顺序表示你将执行的操作。每行应为以下两种格式之一:
示例输入:
3 3 6 banana nabana banana nnbaaa 5 3 abc def bca ghi jkl mno 3 5 abcde abcde abcde zzzzz
示例输出:
3 2 1 2 1 1 1 3 5 2 1 2 5 5 1 2 1 3 2 1 2 1 1 2 2 3 2 1 2 2 2 1 2 3 0
这是 随第一个测试用例输出中的字母交换(大写表示交换的字符)的变化情况:
nabana Babana baNaBa banaNa banana -> Nanana -> nanana -> nanaBa nnbaaa nnbaaa nnbaaa nnbaaa
在所有三次操作之后,。
评分: 输入 2-6: 输入 7-12:无额外约束
问题来源:Chongtian Ma