博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DFS POJ 3087 Shuffle'm Up
阅读量:6006 次
发布时间:2019-06-20

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

 

1 /* 2     题意:两块扑克牌按照顺序叠起来后,把下半部分给第一块,上半部给第二块,一直持续下去,直到叠成指定的样子 3     DFS:直接模拟搜索,用map记录该字符串是否被搜过。读懂题目是关键。 4 */ 5 /************************************************ 6 Author        :Running_Time 7 Created Time  :2015-8-3 13:57:55 8 File Name     :POJ_3087.cpp 9 *************************************************/10 11 #include 
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #include
20 #include
21 #include
22 #include
23 #include
24 #include
25 #include
26 #include
27 #include
28 using namespace std;29 30 #define lson l, mid, rt << 131 #define rson mid + 1, r, rt << 1 | 132 typedef long long ll;33 const int MAXN = 5e3 + 10;34 const int INF = 0x3f3f3f3f;35 const int MOD = 1e9 + 7;36 map
cnt;37 string str;38 bool vis[MAXN][MAXN];39 int res, ct;40 int n;41 42 void DFS(string s, string t, int dep) {43 if (!cnt.count (s)) cnt[s] = ++ct;44 if (!cnt.count (t)) cnt[t] = ++ct;45 if (vis[cnt[s]][cnt[t]]) return ;46 vis[cnt[s]][cnt[t]] = true;47 string tmp = "";48 for (int i=0; i
dep) res = dep;53 return ;54 }55 s = ""; t = "";56 for (int i=0; i
> s >> t; cin >> str;67 res = INF; ct = 0; cnt.clear (); memset (vis, false, sizeof (vis));68 DFS (s, t, 1);69 printf ("%d %d\n", ++cas, res == INF ? -1 : res);70 }71 72 return 0;73 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4700340.html

你可能感兴趣的文章
利用SS7漏洞可追踪全球数十亿部手机 黑客千里之外窃听澳洲议员
查看>>
维基解密披露CIA Grasshopper远程木马套件 Windows预安装环境、Carberp财务恶意软件的计算机驻留方法都用上了...
查看>>
大数据破解污染图谱 北风与雾霾啥关系
查看>>
《中国人工智能学会通讯》——5.24 受神经元和突触特性的启发
查看>>
2017上半年七大最佳数据可视化工具
查看>>
大数据+BIM=建设行业的完美CP(组合)
查看>>
《VMware Virtual SAN权威指南》一3.11 小结
查看>>
数据库防火墙风险大?那是你还不知道应用关联防护
查看>>
Linux性能优化之IO子系统介绍
查看>>
论医疗卫生信息化使用备份系统的意义
查看>>
IDC更新对象存储市场排名:IBM一跃成头名
查看>>
漫谈依赖管理工具:从Maven,Gradle到Go
查看>>
DevOps的能力模型、演进及案例剖析
查看>>
以标准引领产业 中国安全企业参与国际汽车信息安全标准
查看>>
降低企业运维成本,LinuxONE更具优势
查看>>
Android开发之短信验证码示例
查看>>
浅析机器视觉测试系统市场现状
查看>>
甲骨文推云计算租赁业务挑战亚马逊
查看>>
啥是物联网?一个西瓜告诉你!
查看>>
孟加拉国央行被“黑”,竟因电脑都在“裸奔”
查看>>