#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1e3+;
int dp[maxn][maxn];
char s1[maxn];
char p[maxn];
int main()
{
int T;cin>>T;
while(T--)
{
int n,m;
scanf("%d %d",&n,&m);
scanf("%s",s1); //dp[i][j],i表示当前位置,j表示当前花费是否合法。
memset(dp,,sizeof(dp));
dp[n/][] = ;
for(int i=n/;i>=;i--)
{
if(s1[i]==s1[i+n/])
{
for(int j=m;j>=;j--)
{
if(dp[i+][j]) dp[i][j] = ; //不改
}
for(int j=m;j>=;j--)
{
if(dp[i+][j-]) dp[i][j] = ; //改两次
}
}
else
{
for(int j=m;j>=;j--)
{
if(dp[i+][j-]) dp[i][j] = ; //改一次
}
for(int j=m;j>=;j--)
{
if(dp[i+][j-]) dp[i][j] = ; //改两次
}
}
}
if(!dp[][m])
{
printf("Impossible\n");
continue;
}
for(int i=;i<n/;i++)
{
for(int j=;j<;j++)
{
int count1 = ;
char now = j+'a';
if(now!=s1[i]) count1++;
if(now!=s1[i+n/]) count1++;
if(dp[i+][m-count1])
{
p[i] = j+'a';
p[i+n/] = j+'a';
m = m-count1;
break;
}
}
}
p[n] = '\0';
printf("%s\n",p);
}
return ;
}

HDU 5903 (DP)的更多相关文章

  1. hdu 3016 dp+线段树

    Man Down Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  2. HDU 5928 DP 凸包graham

    给出点集,和不大于L长的绳子,问能包裹住的最多点数. 考虑每个点都作为左下角的起点跑一遍极角序求凸包,求的过程中用DP记录当前以j为当前末端为结束的的最小长度,其中一维作为背包的是凸包内侧点的数量.也 ...

  3. HDU 5903 - Square Distance [ DP ] ( BestCoder Round #87 1002 )

    题意: 给一个字符串t ,求与这个序列刚好有m个位置字符不同的由两个相同的串拼接起来的字符串 s, 要求字典序最小的答案    分析: 把字符串折半,分成0 - n/2-1 和 n/2 - n-1 d ...

  4. HDU 5903 Square Distance (贪心+DP)

    题意:一个字符串被称为square当且仅当它可以由两个相同的串连接而成. 例如, "abab", "aa"是square, 而"aaa", ...

  5. hdu 5903 Square Distance(dp)

    Problem Description A string is called a square string if it can be obtained by concatenating two co ...

  6. HDU 1069 dp最长递增子序列

    B - Monkey and Banana Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I6 ...

  7. HDU 1160 DP最长子序列

    G - FatMouse's Speed Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64 ...

  8. hdu 4826(dp + 记忆化搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4826 思路:dp[x][y][d]表示从方向到达点(x,y)所能得到的最大值,然后就是记忆化了. #i ...

  9. HDU 2861 (DP+打表)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2861 题目大意:n个位置,m个人,分成k段,统计分法.S(n)=∑nk=0CknFibonacci(k ...

随机推荐

  1. java.io.IOException: Invalid header signature; read 0xE011BDBFEFBDBFEF, expected 0xE11AB1A1E011CFD0

    根据网上的解释,这个表示poi读取excel(97-2003)的时候头文件被损坏了,正常的方式:能打开的话,另存一下即可,实在不行直接新建一个内容一样的 本人环境:eclipse部署到tomcat,e ...

  2. DirectShow音频采集声音不连续问题分析与解决办法经验总结

    最近广州大雨不断,并且多数无前兆,突然就来场大雨,给同学们降降温,说来本也是好事,但有时候下的真不是时候,最近这段时间都是即将下班了,大雨就来了,昨晚快下班前又出现了大雨,北方人总爱忘带雨伞,这不就被 ...

  3. MySql 安装报错 :Last Error:Unable to update security. Access denied for user 'root'@'localhost(useing password:YES)

    在网上查了一下,其实这个问题很好解决,. try again 然后current password  mysql是默认密码为空,不要填,记住不要填就ok了

  4. TCP小结

    TCP/IP协议实现了不同主机,不同操作系统之间信息交流.由4层构成,从上往下依次为: 1.应用层,包括http,ftp等协议,用于实现某一项具体的功能. 2.传输层,包括TCP和UDP,一个可靠,一 ...

  5. (译)UEFI 启动:实际工作原理

    本文是我翻译自国外技术博客的一篇文章,其中讲述了 UEFI 的一些基本概念和细节. 本文的原始链接位于: https://www.happyassassin.net/2014/01/25/uefi-b ...

  6. Logger日志管理工具类

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  7. ZUFE OJ 2288 God Wang I

    Description God Wang 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GodW变换 对于一个数字n,该变换后的值GodW(n)为,先令X=n 第一步,如果X为个位数,G ...

  8. 解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载

    解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载 当这两个头文件顺序颠倒时,编译会出现许多莫名其妙的错误,错误如下: 1>…\include\ws2def.h( ...

  9. Chapter 2 Open Book——14

    I backpedaled. "They seemed nice enough to me. I just noticed they keptto themselves. 我改口说道,他们看 ...

  10. hdu_1728_逃离迷宫(bfs)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 题意:走迷宫,找最小的拐角 题解:对BFS有了新的理解,DFS+剪枝应该也能过,用BFS就要以拐 ...