80分的看过来,这里有个坑不知各位神犇注意到没有

P1032 [NOIP2002 提高组] 字串变换

@[geekhen](/space/show?uid=48842) 我在这被坑了一个月。。。。。。
by xukuan @ 2017-07-25 10:31:41


@[xukuan](/space/show?uid=27924) 解决了吗?我下完数据才发现的
by geek痕 @ 2017-07-25 12:01:04


@[geekhen](/space/show?uid=48842) 解决了
by xukuan @ 2017-07-26 07:54:58


感谢大佬终于过了
by 123321hh @ 2017-07-31 09:59:07


我这样写最后一个点RE,而且我一直find ```cpp #include<iostream> #include<string> using namespace std; struct Node { string a; string b; }rule[101]; string s,q[1000000]; int n=1,front=1,rear=1,step[1000000]; int main() { cin>>q[1]>>s; step[1]=0; while(cin>>rule[n].a>>rule[n].b) n++; n--; if(q[1]==s) { cout<<0; return 0; } while(rear>=front&&step[front]<10) { for(int i=1;i<=n;i++) { string s1=q[front]; while(s1.find(rule[i].a)!=string::npos) { string s2=q[front]; s2.replace(s1.find(rule[i].a),rule[i].a.size(),rule[i].b); rear++; q[rear]=s2; step[rear]=step[front]+1; if(q[rear]==s) { cout<<step[rear]; return 0; } for(int j=s1.find(rule[i].a),k=1;k<=rule[i].a.size();j++,k++) s1[j]='*'; } } front++; } cout<<"NO ANSWER!"; return 0; } ```
by Chanis @ 2017-07-31 18:59:09


大佬,谢谢呀
by Thor_Odinson @ 2017-09-12 20:44:32


1
by debukkz @ 2017-09-20 19:38:51


民白了,谢谢dalao!
by Gae_Blog @ 2018-04-06 20:37:27


原来没有考虑到result=0的死循环
by Gae_Blog @ 2018-04-06 20:57:19


有点问题,如果不用while,那么下一次bfs到这个字符拓展的状态的时候不还是会find吗?
by ZXZ695 @ 2018-09-30 12:26:18


|