POJ 3087 Shuffle'm Up(kuangbin带你飞 专题一:简单搜索)专题一完结
2015-01-31 10:40
531 查看
这个题目很难懂- -懂了之后没看出来是搜索...想到了模拟..
大概题意:有两堆数量都是c的牌,按照s2的每一张都在s1下的规则合并成一堆,然后再把上面的c张给s1,下面的给s2,不断进行这个过程,问是否能达到目标状态,如果不能输出-1...大概不能的情况就是有重复了,死循环..不管循环节多大吧,如果有循环 第一个状态肯定要循环回来的...终有一次..如果没有大概似乎都可以达到目标?
大概题意:有两堆数量都是c的牌,按照s2的每一张都在s1下的规则合并成一堆,然后再把上面的c张给s1,下面的给s2,不断进行这个过程,问是否能达到目标状态,如果不能输出-1...大概不能的情况就是有重复了,死循环..不管循环节多大吧,如果有循环 第一个状态肯定要循环回来的...终有一次..如果没有大概似乎都可以达到目标?
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cstdlib> using namespace std; int main() { int T; cin>>T; for(int cas=1;cas<=T;cas++) { int c; char s1[200],s2[200],s12[400],e[400],f[400]; cin>>c; cin>>s1>>s2>>e; int flag=0; int ans=0; strcpy(f,s1); while(flag==0) { int k=0; for(int i=0;i<c;i++) { s12[k++]=s2[i]; s12[k++]=s1[i]; } s12[k]='\0'; ans++; if(strcmp(s12,e)==0) { flag=1; break; } k=0; for(int i=0;i<c;i++) s1[k++]=s12[i]; s1[k]='\0'; k=0; for(int i=c;i<2*c;i++) s2[k++]=s12[i]; s2[k]='\0'; if(strcmp(s1,f)==0) break; } if(flag) printf("%d %d\n",cas,ans); else printf("%d -1\n",cas); } return 0; }
相关文章推荐
- [kuangbin带你飞]专题一 简单搜索G - Shuffle'm Up(POJ 3087)
- [kuangbin带你飞]专题一 简单搜索 G - Shuffle'm Up poj 3087
- poj 3087 Shuffle'm Up (kuangbin带你飞--简单搜索)
- [kuangbin带你飞]专题1 简单搜索 G - Shuffle'm Up POJ - 3087
- [kuangbin带你飞]专题一 简单搜索 -G - Shuffle'm Up
- POJ 3984 & [kuangbin带你飞]专题一 简单搜索 K
- [kuangbin带你飞]专题一 简单搜索 B - Dungeon Master(POJ 2251)
- [kuangbin带你飞]专题一 简单搜索D - Fliptile(POJ 3279)
- POJ 1321 棋盘问题---[kuangbin带你飞]专题一 简单搜索
- POJ - 3984 迷宫问题 [kuangbin带你飞]专题一 简单搜索
- [kuangbin带你飞]专题一 【简单搜索】 【--完结--】
- [kuangbin带你飞]专题一 简单搜索 H - Pots poj 3414
- poj 3087 Shuffle'm Up (模拟搜索)
- POJ 3279 Fliptile(kuangbin带你飞 专题一:简单搜索)
- POJ 3126 Prime Path(kuangbin带你飞 专题一:简单搜索)
- [kuangbin带你飞]专题一 简单搜索 Shuffle'm Up : 水题
- [kuangbin带你飞]专题一 简单搜索E - Find The Multiple(POJ 1426)
- [kuangbin带你飞]专题一 简单搜索K - 迷宫问题(POJ 3984)
- [kuangbin带你飞]专题一 简单搜索 C - Catch That Cow poj 3278
- [kuangbin带你飞]专题一 简单搜索 -G - Shuffle'm Up