搜索专题 J
2017-05-30 21:12
113 查看
1 简单描述
有两堆纸牌,每堆纸牌有颜色不同的纸牌,按照一定规则混合洗牌。经过一系列洗牌,是否能组合成题中所给的排序。要是能,最少多少次洗牌。
2 思路
#include
<iostream>
#include
<string.h>
#include
<algorithm>
#include
<map>
using namespace std;
int main()
{
char s1[105], s2[105], s12[210],
s[210];
int t, c, cou, x
= 0, i, j, k;
cin>>t;
while(t--)
{
x++;
cou = 0;
cin>>c;
cin>>s1;
cin>>s2;
cin>>s12;
memset(s,
'1',
sizeof(s));
map < string,
int>vis;
//用map记录字符串出现与否。
vis[s12]
= 1;
vis[s]
= 0;
while(strcmp(s, s12)
!= 0
&& vis[s]
== 0)
//出口两个:1.与目标相同了 2.又到了出现过的字符串,即进入”环“状态,此时必定不能洗到目标状态
{
vis[s]
= 1;
for(i
= j = k =
0 ; i <
2*c ; i++)
{
if(i%2
== 0)
{
s[i]
= s2[j];
j++;
}
else
{
s[i]
= s1[k];
k++;
}
}
s[i]
= '\0';
cou++;
for(i
= 0 ; i
< c ; i++)
s1[i]
= s[i];
for(j
= c,k =
0 ; j <
2*c ; j++, k++)
s2[k]
= s[j];
}
if(strcmp(s, s12)
== 0)
cout<<x<<' '<<cou<<endl;
else
cout<<x<<' '<<"-1"<<endl;
}
return 0;
}
有两堆纸牌,每堆纸牌有颜色不同的纸牌,按照一定规则混合洗牌。经过一系列洗牌,是否能组合成题中所给的排序。要是能,最少多少次洗牌。
2 思路
#include
<iostream>
#include
<string.h>
#include
<algorithm>
#include
<map>
using namespace std;
int main()
{
char s1[105], s2[105], s12[210],
s[210];
int t, c, cou, x
= 0, i, j, k;
cin>>t;
while(t--)
{
x++;
cou = 0;
cin>>c;
cin>>s1;
cin>>s2;
cin>>s12;
memset(s,
'1',
sizeof(s));
map < string,
int>vis;
//用map记录字符串出现与否。
vis[s12]
= 1;
vis[s]
= 0;
while(strcmp(s, s12)
!= 0
&& vis[s]
== 0)
//出口两个:1.与目标相同了 2.又到了出现过的字符串,即进入”环“状态,此时必定不能洗到目标状态
{
vis[s]
= 1;
for(i
= j = k =
0 ; i <
2*c ; i++)
{
if(i%2
== 0)
{
s[i]
= s2[j];
j++;
}
else
{
s[i]
= s1[k];
k++;
}
}
s[i]
= '\0';
cou++;
for(i
= 0 ; i
< c ; i++)
s1[i]
= s[i];
for(j
= c,k =
0 ; j <
2*c ; j++, k++)
s2[k]
= s[j];
}
if(strcmp(s, s12)
== 0)
cout<<x<<' '<<cou<<endl;
else
cout<<x<<' '<<"-1"<<endl;
}
return 0;
}
相关文章推荐
- POJ - 1426 Find The Multiple(15.10.10 搜索专题)bfs
- FZU 2150 Fire Game ([kuangbin带你飞]专题一 简单搜索)
- POJ 3279 Fliptile(kuangbin带你飞 专题一:简单搜索)
- kuangbin带你飞——专题1——简单搜索E——求有01组成的十进制数问题
- [kuangbin带你飞]专题一 简单搜索 K - 迷宫问题 POJ 3984
- 搜索专题 O
- 搜索专题 T
- 搜索专题五
- [kuangbin带你飞]专题二 搜索进阶 C - 哈密顿绕行世界问题(HDU 2181)
- 搜索专题 A
- [kuangbin带你飞]专题一 简单搜索 F
- [kuangbin带你飞]专题一 简单搜索 M
- 【贪心专题】POJ 2456 Aggressive cows && NYOJ 586 疯牛(最大化最小值 贪心+二分搜索)
- kuangbin专题一简单搜索总结
- kuangbin专题总结一 简单搜索
- 算法专题训练 搜索a-T3 Ni骑士(ni)
- 搜索专题(DFS&&BFS&&剪枝)HDU 1728-逃离迷宫
- 2014暑假集训搜索专题
- 2015 UESTC 搜索专题A题 王之迷宫 三维bfs
- [kuangbin带你飞]专题一 简单搜索 N