博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ3087 Shuffle'm Up 简单模拟
阅读量:5431 次
发布时间:2019-06-15

本文共 1005 字,大约阅读时间需要 3 分钟。

题意:就是给你两副扑克,然后一张盖一张洗牌,不断重复这个过程,看能不能达到目标的扑克顺序

分析:然后就模拟下,-1的情况就是有循环节

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int maxn=1005;const int INF=0x3f3f3f3f;set
s;char a[maxn],b[maxn],now[maxn*2];string res;int ans,c,T;void dfs(int pos){ int x=1,y=1; for(int i=1; i<=c*2; ++i) { if(i%2)now[i]=b[y++]; else now[i]=a[x++]; } now[c*2+1]='\0'; string temp=now+1; if(temp==res) { ans=pos; return; } if(s.find(temp)==s.end()) s.insert(temp); else return; for(int i=1; i<=c; ++i) { a[i]=now[i]; b[i]=now[i+c]; } dfs(pos+1);}int main(){ scanf("%d",&T); for(int i=1; i<=T; ++i) { s.clear(); scanf("%d%s%s",&c,a+1,b+1); cin>>res; ans=INF; dfs(1); printf("%d ",i); if(ans==INF)printf("-1\n"); else printf("%d\n",ans); } return 0;}
View Code

 

转载于:https://www.cnblogs.com/shuguangzw/p/5165905.html

你可能感兴趣的文章
多图片上传插件
查看>>
Linux设置定时任务
查看>>
git命令的使用
查看>>
eclipse 自定义代码块设置(代码模板)
查看>>
Pandas选择数据
查看>>
webpack最佳入门实践系列(10)
查看>>
poj2411铺砖——状压DP
查看>>
一日一笑话
查看>>
【开源】OSharp框架解说系列(5.2):EntityFramework数据层实现
查看>>
centos 彻底删除nodejs默认安装文件
查看>>
20180709
查看>>
懒得写了,直接复制代码了。。。跨公司发料到订单和退料
查看>>
20145228 《信息安全系统设计基础》第六周学习总结 (1)
查看>>
【原创】Qt 使用ODBC driver 连接SQL Server
查看>>
题目+思路(一句话开脑洞)
查看>>
HTML5学习
查看>>
线下作业MySQL #20175201
查看>>
Seasar2:SAStruts:View(JSP)
查看>>
jira-6.0.1-x64下载地址
查看>>
PAT IO-03 整数均值
查看>>