比赛场次 | 287 |
---|---|
比赛名称 | 20120703 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2016-02-21 08:00:00 |
结束时间 | 2016-02-21 12:00:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 基因重组 |
---|---|
输入输出 | genea.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
zhengtn03 | AAAAAAAAAA | 0.683 s | 64.31 MiB | 100 |
Satoshi | AAATAAAAAT | 4.767 s | 0.28 MiB | 80 |
【问题描述】
工程师Enigma在研究项目遇到一个有关基因重组方面的难题。
众所周知,一个基因可以被认为是一个序列,包括4个核苷酸,可以由4个字母简单标记:A,C,G,T。
Enigma已经得到了一个基因,标记为"ATCC",诸如此类,他想将此基因重新组合产生一个新的,比如“CTCA”,他可以进行的有两种操作:
(1)将前两个字母交换,或者
(2)将第一个字母移到最后。
举例说明,可以使用第2种操作将“ATCC”变成“TCCA”,又可以使用第1种操作将“TCCA”变为“CTCA”。你的任务是编程帮助Enigma找到完成一个基因重组所需的最少操作次数。
【输入格式】
第一行有一个整数N,表示基因序列的长度(1<=N<=12),第二行有一个字符串,表示该基因序列,第三行是另一个字符串,即Enigma希望得到的基因序列。
对于每一个字母,它在两个字符串中出现的次数相同。
【输出格式】
一行,即最小操作次数。
【样例】
genea.in
4
ATCC
CTCA
genea.out
2