5815:最小字符串距离

时间限制:2 S   /  内存限制:65536 KB
AC:5   /  Submit:34
问题描述

定义:两个相同长度的字符串s1、s2,它们的距离是每一位字符ASCII码相减的绝对值之和。

例如s1="ABC",s2="TBA",求s1与s2的距离,先逐位计算ASCII码相减的绝对值:

|s1[0]-s2[0]|=|'A'-'T'|=|65-84|=19

|s1[1]-s2[1]|=|'B'-'B'|=|66-66|=0

|s1[2]-s2[2]|=|'C'-'A'|=|67-65|=2

然后把这些值都加起来,19+0+2=21,得到s1与s2的距离是21。


现在给定一个长度是26的由大写英文字母组成的字符串s1,要求构建一个长度也是26的字符串s2,s2由大写英文字母构成,且每个字母只能使用一次,不能出现重复字母,使得s1与s2的距离尽可能小。

输入描述

这是一道多组案例的题目。一个正整数n,表示案例的数量。(n<=1000)

每组案例由一个长度是26的字符串s1组成,s1的所有字符均是大写英文字母。

输出描述

针对每组案例,输出一个整数a和一个字符串s2,使得s1与s2的距离尽可能小,a表示这个最小值是多少。

满足条件的s2可能不止一个,只需要输出其中字典序最小的那个。

每组案例输出完都要换行。

样例输入复制样例

1

ABCDEFGHIJKLMNOPQRSTUVWXYY


样例输出

1 ABCDEFGHIJKLMNOPQRSTUVWXYZ


提示说明
满足最小距离1的字符串有2个,分别是ABCDEFGHIJKLMNOPQRSTUVWXYZ和ABCDEFGHIJKLMNOPQRSTUVWXZY,因前者字典序靠前,故选择前者输出
相关

厦门大学嘉庚学院第十三届编程大赛


Copyright 2016 - 2026 XUJC ACM Team
闽ICP备2020022076号-1