首页 > 代码库 > [ZOJ 1004] Anagrams by Stack (简单搜索)
[ZOJ 1004] Anagrams by Stack (简单搜索)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004
题目大意:给你个栈,给你源串和目标串,按字典序输出符合要求的进站出站序列。
就是搜搜搜呗。。。
带上答案和模拟的栈。。
代码:
1 #include <cstdio> 2 #include <cstdlib> 3 #include <string> 4 #include <iostream> 5 #include <cstring> 6 #include <algorithm> 7 #include <cctype> 8 #include <vector> 9 #include <map>10 #include <set>11 #include <iterator>12 #include <functional>13 #include <cmath>14 #include <numeric>15 using namespace std;16 17 typedef long long LL;18 19 char s[1000],t[1000];20 21 void dfs(int now,int pp,int len,string ns,string st){22 if( pp==len ){23 for(int i=0;i<st.size();i++){24 putchar(st[i]);25 putchar(‘ ‘);26 if( i==st.size()-1 ) puts("");27 }28 return;29 }30 if( st.size()==len+len ) return;31 dfs(now+1,pp,len,ns+s[now],st+"i");32 if( !ns.empty() && ns[ns.size()-1] == t[pp] ){33 ns.erase(--ns.end());34 dfs(now,pp+1,len,ns,st+"o");35 }36 }37 38 int main(){39 while(scanf("%s%s",s,t)!=EOF){40 puts("[");41 int len = strlen(s);42 string aa,bb;43 dfs(0,0,len,aa,bb);44 puts("]");45 }46 return 0;47 }
[ZOJ 1004] Anagrams by Stack (简单搜索)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。