POJ 3087 (简单map + 模拟)
来源:互联网 发布:源码天空 编辑:程序博客网 时间:2024/06/08 09:26
POJ 3087
题意:给出洗牌的方式,问几次能洗出要求的牌。
洗牌方式就是插入,很简单。
用map<string,int >visit 记录是否出现过。
值得学习的就是这种想法,用map记录判断是否能洗出这种牌。
#include<iostream>#include<cstring>#include<map>using namespace std;int main(){ int t = 0,text; cin>>text; while(++t <= text){ int n; cin>>n; char s1[205],s2[205],s12[410]; cin>>s1>>s2>>s12; map<string,int>visit; visit[s12] = true; int step = 0; while(true){ char s[410]; int all = 0; for(int i = 0;i < n; i++){ s[all++] = s2[i]; s[all++] = s1[i]; } s[all] = '\0'; step++; if(!strcmp(s,s12)){ cout<<t<<" "<<step<<endl; break; } else if(visit[s] && strcmp(s,s12)){ cout<<t<<" "<<"-1"<<endl; break; } visit[s] = true; for(int i = 0;i < n; i++){ s1[i] = s[i]; } s1[n] = '\0'; for(int k = n,i = 0;k < 2*n; k++,i++){ s2[i] = s[k]; } s2[2*n] = '\0'; } } return 0;}
0 0
- POJ 3087 (简单map + 模拟)
- (水)POJ-3087 模拟,map,string
- POJ 3087-Shuffle'm Up(map+模拟)
- POJ 2418 (简单map)
- POJ 1051 P,MTHBGWB(map模拟)
- POJ 3087 Shuffle'm Up(简单模拟)
- poj 2418 简单map
- POJ 3087(模拟)
- poj 3087 (模拟)
- poj 1281 MANAGER(简单模拟题)
- POJ 1132 Border(边界) 简单模拟
- poj 2190 简单模拟(ISBN)
- POJ 2000 Gold Coins(简单模拟)
- poj 2509 简单模拟(烟屁换烟)
- POJ 1028 Web Navigation(简单模拟)
- POJ 1250 Tanning Salon(简单模拟)
- POJ 3414 Pots(简单模拟+dfs)
- POJ 2897 Dramatic Multiplications(简单模拟)
- SQL server 基本知识入门 个人心得
- idea导出可执行jar包
- js动态获取屏幕大小的方法
- Android之WebView学习
- Android Studio(as)调试总结
- POJ 3087 (简单map + 模拟)
- SwiperrefreshLayout实现下拉刷新(demo)
- python学习笔记 --- 关于python的闭包
- RxJava操作符(4)-结合
- HDU4431
- 数据发送流程
- hdu 4081 次小生成树
- 开启分页机制———《x86汇编语言:从实模式到保护模式》读书笔记44
- Jmeter正则表达式提取器