POJ 3087 Shuffle'm Up——思路题
来源:互联网 发布:日本人爱干净 知乎 编辑:程序博客网 时间:2024/06/06 17:50
#include <iostream>#include <map>#include <string>#include <queue>#include <algorithm>using namespace std;typedef long long ll;map<string, int> mp;int n;string tar;string trans(string s1, string s2) { string s12; for(int i = 0; i < n; i++) { s12 += s2[i], s12 += s1[i]; } return s12;}int bfs(string s1, string s2) { queue<string> que; string s12 = trans(s1, s2); mp[s12] = 1; que.push(s12); while(!que.empty()) { string fronts = que.front(); que.pop(); if(fronts == tar) return mp[fronts]; s1 = fronts.substr(0, n); s2 = fronts.substr(n, n); s12 = trans(s1, s2); if(mp[s12] > 0) return -1; mp[s12] = mp[fronts] + 1; que.push(s12); } return -1;}int main() { int T, kase = 1; string s1, s2; cin >> T; while(T--) { mp.clear(); cin >> n; cin >> s1 >> s2 >> tar; int ans = bfs(s1, s2); cout << kase++ << ' ' << ans << endl; } return 0;}
阅读全文
1 0
- POJ 3087 Shuffle'm Up——思路题
- POJ 3087 Shuffle'm Up(模拟题)
- poj 3087 Shuffle'm Up(模拟题)
- POJ - 3087 Shuffle'm Up(模拟题)
- POJ 3087 Shuffle'm Up
- POJ 3087 Shuffle'm Up
- POJ 3087 Shuffle'm Up
- POJ 3087 Shuffle'm Up
- poj 3087 Shuffle'm Up
- POJ 3087 Shuffle'm Up
- POJ 3087 Shuffle'm Up
- POJ 3087Shuffle'm Up
- poj 3087 Shuffle'm Up
- Shuffle'm Up poj 3087
- POJ 3087 Shuffle'm Up
- POJ 3087 Shuffle'm Up
- poj 3087 Shuffle'm Up
- POJ 3087:Shuffle'm Up
- diskgenius 卷guid全是0,win7系统无法安装
- 索引
- SpringMVC工作原理
- C#初2值类型
- poj-2253 Frogger(dijkstra变形)
- POJ 3087 Shuffle'm Up——思路题
- HttpClient服务器模拟浏览器发送请求
- 如何将一个HTML页面嵌套另一个页面中
- webpack 项目打包 (build) 速度优化 --- Dll 方式
- 80%的经理人都不知道的邮件常识
- HTML5中input[type='date']自定义样式&日历校验功能
- 让python同时兼容python2和python3的8个技巧分享
- 404、500 HTTP状态
- [leetcode]72. Edit Distance(Java)