运用第i个s12和第i+1个s12中,每个位置具有的确定的映射关系:

pos = pos * 2 + 1 (pos < c)

pos = pos * 2 - c * 2 (pos >= c)

例如c =3, 则位置为 0 1 2 3 4 5  会映射成 3 0 4 1 5 2

从第1到第2c个位置依次进行匹配,用搜索应该也可以做,合适于数据大的情况。

#include<string.h>
#include<stdio.h> int main(){
int n, c;
char s1[], s2[], s12[], des[];
scanf("%d",&n);
//cin >> n;
for(int t = ; t <= n; t ++){
scanf("%d %c %c %c",c,s1,s2,des);
int ans = ;
bool flag = false;
char str1[];
strcpy(str1, s1); // str1保存原始状态的s1。 while(!flag){
int i, k = ;
for(i = ; i < c; i ++){ // s1和s2按规则合成s12。
s12[k ++] = s2[i];
s12[k ++] = s1[i];
}
s12[k] = ;
ans ++;
if(!strcmp(s12, des)){ // 若s12与目标相同。
flag = true;
break;
}
for(i = , k = ; k < c; k ++) // 新的s1。
s1[i ++] = s12[k];
s1[i] = ;
for(i = , k = c; k < * c; k ++) // 新的s2。
s2[i ++] = s12[k];
s2[i] = ;
if(!strcmp(s1, str1)) // 等到s1经过x次变换后回到str1,则说明不可能到达目标情况了。 break;
}
if(flag) printf("%d %d\n",t,ans);
else printf("%d -1",t);
}
return ;
}

【搜索】Shuffle'm Up的更多相关文章

  1. kuangbin专题 专题一 简单搜索 Shuffle'm Up POJ - 3087

    题意:(1)有两副颜色多样的扑克牌,(A~H)表示不同颜色,给你两副牌,S1,S2和一副你需要洗出的KEY,S12由S2最底部,S1底部...一直下去,直到洗成S12,就是图片展示的那样.(2)洗好的 ...

  2. [暴力搜索] POJ 3087 Shuffle'm Up

    Shuffle'm Up Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10003   Accepted: 4631 Des ...

  3. POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊

    题意:给定s1,s1两副扑克,顺序从下到上.依次将s2,s1的扑克一张一张混合.例如s1,ABC; s2,DEF. 则第一次混合后为DAEBFC. 然后令前半段为s1, 后半段为s2. 如果可以变换成 ...

  4. 【项目】搜索广告CTR预估(二)

    项目介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-through ...

  5. Shuffle'm Up 分类: 函数 POJ 查找 2015-08-09 17:01 6人阅读 评论(0) 收藏

    Shuffle'm Up Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7529 Accepted: 3466 Descript ...

  6. 【Spark】Spark的Shuffle机制

    MapReduce中的Shuffle 在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性 ...

  7. 你会用shuffle打乱列表吗?

    在网站上我们经常会看到关键字云(Word Cloud)和标签云(Tag Cloud),用于表明这个关键字或标签是经常被查阅的,而且还可以看到这些标签的动态运动,每次刷新都会有不一样的关键字或便签,让浏 ...

  8. 搜索:POJ2251&POJ1426&POJ3087&POJ2488

    图的遍历也称为搜索,就是从图中某个顶点出发,沿着一些边遍历图中所有的顶点,且每个顶点仅被访问一次,遍历可采取两种不同的方式:深度优先搜索(DFS)和广度优先搜索(BFS). 1.DFS算法思想` 从顶 ...

  9. POJ 3590 The shuffle Problem

    Any case of shuffling of n cards can be described with a permutation of 1 to n. Thus there are total ...

随机推荐

  1. Ajax图片异步上传并回显

    1.jsp页面 <td width="20%" class="pn-flabel pn-flabel-h"></td> <td w ...

  2. css3 vw、vh属性详解,以及与%、rem的区别介绍

    最近的项目需求,内嵌电视端显示页面,所以使用到了css3的属性:vw \ vh,遇到一些问题,记录下来 vw.vh是什么? 字面上可以简单理解为,vw (view width),vh(view hei ...

  3. Docker容器进入-命令行只显示-bash-4.1#

    bash-4.1# cp /etc/skel/.bash* /root/ bash-4.1# su [root@4a841f025562 ~]# [root@4a841f025562 ~]# [roo ...

  4. iOS指令集

    公司在进行项目重构时,其中一个地方的改动就是调整了iOS的指令集.更改指令集主要可以对手机应用的安装机型做出控制,同时在研发过程中也可以控制相关的模拟器和真机.它们原则上是向下兼容的,比如iphone ...

  5. Windows 64 位 mysql 5.7.20 安装教程

    mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法 mysql官网下载地址:https://dev.my ...

  6. YII2中使用控制台命令

    有些时候我们需要通过crontab在后台跑一些定时脚本,这时候就需要用到控制台命令了. 我们在commands目录下创建TestController.php,当然脚本的位置是可以随意指定的,只需要在c ...

  7. 操作系统的发展史 day36

    什么是操作系统       可能很多人都会说,我们平时装的windows7 windows10都是操作系统,没错,他们都是操作系统.还有没有其他的? 想想我们使用的手机,Google公司的Androi ...

  8. How to install VCM 2 Ford IDS 109 software

    How to install Ford IDS 109: 1- Install the ids 86 before changing the date to 1 07 2015 (hold the d ...

  9. ROC曲线 Receiver Operating Characteristic

    ROC曲线与AUC值   本文根据以下文章整理而成,链接: (1)http://blog.csdn.net/ice110956/article/details/20288239 (2)http://b ...

  10. 发送邮件--MFMailComposeViewController

    只能在真机使用. 模拟器没有E-mail发送功能.无法调用 #import "EmailViewController.h" #import <UIKit/UIKit.h> ...