题目:

现有字符串s1、s2、s12,其中s1、s2的长度为len,s12的长度为2*len。

是否可以通过一些操作使s1和s2转换合并成s12?

变换的操作规则如下:

假设s1=11111,s2=00000

变换后的序列 s=0101010101

假设s1=12345,s2=67890

变换后的序列 s=6172839405

如果s和s12完全相同,那么输出变换次数

如果不完全相等,s的前半部分作为s1,后半部分作为s2,重复上述过程

输入:

第一行T(1≤T≤1000),代表有T组数据.

每组数据第一行len(1≤len≤100),第二行长度为len的字符串s1,第三行长度为len的字符串s2,第四行长度为2*len的字符串s12。

输出:

首先输出处理数据组的编号(编号从1开始)

再输出变换次数并换行。

注意两个数字之间有空格。

对于变换次数,如果无需变换直接得到s12,那么输出0,如果无论怎么变换都不会得到s12,那么输出 -1。

样例:

分析:简单的模拟,return-1的条件随便给了一个就水过了

#include<iostream>
#include<sstream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<functional>
#include<iomanip>
#include<numeric>
#include<cmath>
#include<queue>
#include<vector>
#include<set>
#include<cctype>
#define PI acos(-1.0)
const int INF = 0x3f3f3f3f;
const int NINF = -INF - ;
typedef long long ll;
using namespace std;
string a, b, c;
int n;
int func()
{
int num = ;
string temp;
temp = a + b;
//cout << temp << endl;
while (temp != c)
{
if (num == * n) return -;
a = temp.substr(, n);
b = temp.substr(n, n);
//cout << a << ' ' << b << endl;
//break;
int flag = ;
for (int i = ; i < n; ++i)
temp[flag++] = b[i], temp[flag++] = a[i];
num++;
}
return num;
}
int main()
{
int T, t = ;
cin >> T;
while (T--)
{
t++;
cin >> n;
cin >> a >> b >> c;
int num = func();
cout << t << ' ' << num << endl;
}
return ;
}

最新文章

  1. iOS 图片的按照比例拉伸
  2. 【代码笔记】iOS-对UIView进行截图
  3. Opensuse enable sound and mic card
  4. jmeter 远程测试
  5. ASP.NET MVC 之 View 测试
  6. 为Activity设置特定权限才能启动
  7. UVa 10048: Audiophobia
  8. H5页面音频自动播放问题
  9. 对于Android Service 生命周期进行全解析
  10. Filter - Surge.js模板引擎过滤器
  11. Struts+Spring+Hibernate的Web应用执行过程
  12. 天兔(Lepus)监控系统慢查询分析平台安装配置
  13. IBM WebSphere ESB入门指南
  14. 关于APIcloud中的登录与注册的简单实现
  15. The Movie db (TMDB)的API申请
  16. Spring9:Autowire(自动装配)机制
  17. bootmgr解压缩
  18. SQL kaggle learn with as excercise
  19. JAVA WEN开发环境与搭建
  20. 每天学点SpringCloud(七):路由器和过滤器-Zuul

热门文章

  1. 【Oracle】Rman备份策略
  2. QT-Creator+SDK+编译器+自定义配置
  3. 【JSP】简单登陆界面
  4. 【sqli-labs】 less25 GET- Error based -All you OR&amp;AND belong to us -string single quote(GET型基于错误的去除了or和and的单引号注入)
  5. iOS https 证书链获取
  6. 视频及MP3 播放浅析 Jplayer参数详细
  7. BZOJ 3036: 绿豆蛙的归宿 期望 + 拓扑排序
  8. Python基础学习(day1)
  9. HDU-1134 卡特兰数+java大数模板
  10. #MySQL数据库无法远程访问的问题