CF491C.Deciphering
提高+/省选-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
One day Maria Ivanovna found a Sasha's piece of paper with a message dedicated to Olya. Maria Ivanovna wants to know what is there in a message, but unfortunately the message is ciphered. Maria Ivanovna knows that her students usually cipher their messages by replacing each letter of an original message by some another letter. Replacement works in such way that same letters are always replaced with some fixed letter, and different letters are always replaced by different letters.
Maria Ivanovna supposed that the message contains answers to the final exam (since its length is equal to the number of final exam questions). On the other hand she knows that Sasha's answer are not necessary correct. There are K possible answers for each questions. Of course, Maria Ivanovna knows correct answers.
Maria Ivanovna decided to decipher message in such way that the number of Sasha's correct answers is maximum possible. She is very busy now, so your task is to help her.
一天,玛丽亚·伊万诺夫娜发现了一张萨沙写给奥莉娅的纸条,上面有一条信息。玛丽亚·伊万诺夫娜想知道这条信息的内容,但很不幸,该信息是经过加密的。玛丽亚·伊万诺夫娜知道,她的学生们通常通过将原始信息中的每个字母替换为另一个固定的字母来加密信息。这种替换满足如下规则:相同的字母总是被替换成某个固定的字母,而不同的字母总是被替换成不同的字母。
玛丽亚·伊万诺夫娜推测,该信息中包含期末考试的答案(因为其长度恰好等于期末考试题目的数量)。另一方面,她也知道萨沙的答案未必全部正确。每道题目有 K 个可能的答案。当然,玛丽亚·伊万诺夫娜知晓所有题目的正确答案。
玛丽亚·伊万诺夫娜决定以一种方式对信息进行解密,使得萨沙答对的题目数量尽可能多。她现在非常忙碌,因此你的任务就是帮助她。
输入格式
First line contains length of both strings N (1 ≤ N ≤ 2 000 000) and an integer K — number of possible answers for each of the questions (1 ≤ K ≤ 52). Answers to the questions are denoted as Latin letters abcde...xyzABCDE...XYZ in the order. For example for K = 6, possible answers are abcdef and for K = 30 possible answers are abcde...xyzABCD.
Second line contains a ciphered message string consisting of Latin letters.
Third line contains a correct answers string consisting of Latin letters.
第一行包含两个字符串的长度 N(1≤N≤2000000)以及一个整数 K —— 每个问题的可能答案个数(1≤K≤52)。问题的答案按顺序用拉丁字母表示:abcde...xyzABCDE...XYZ。例如,当 K=6 时,可能的答案为 abcdef;当 K=30 时,可能的答案为 abcde...xyzABCD。
第二行包含一个由拉丁字母组成的密文消息字符串。
第三行包含一个由拉丁字母组成的正确答案字符串。
输出格式
In the first line output maximum possible number of correct Sasha's answers.
In the second line output cipher rule as the string of length K where for each letter from the students' cipher (starting from 'a' as mentioned above) there is specified which answer does it correspond to.
If there are several ways to produce maximum answer, output any of them.
第一行输出 Sasha 最多可能答对的题目数量。
第二行输出密码规则,即一个长度为 K 的字符串;对于学生密码中的每个字母(如上所述,从 'a' 开始),该字符串中对应位置的字符表示该字母所对应的答案。
若存在多种方案可达到最大正确数,请输出其中任意一种。
输入输出样例
输入#1
10 2 aaabbbaaab bbbbabbbbb
输出#1
7 ba
输入#2
10 2 aaaaaaabbb bbbbaaabbb
输出#2
6 ab
输入#3
9 4 dacbdacbd acbdacbda
输出#3
9 cdba
输入解题思路,AI测评打分。不知道怎么写?