为什么会出故障

P1030 [NOIP2001 普及组] 求先序排列

期待更丰富的展现? 使用$Markdown$
by Lance1ot @ 2018-12-18 17:33:13


```cpp include<iostream> include<cstdio> include<cstring> using namespace std; char a1[10],t1[1<<10],a2[10]; void work(int L1,int R1,int L2,int R2,int root) { if(L1>R1) return; for(int i=L1; i<=R1; i++) { if(a1[i]==a2[R2]) { t1[root]=a2[R2]; int ct=i-L1; work(L1,i-1,L2,L2+ct-1,root2); work(i+1,R1,L2+ct,R2-1,root2+1); break; } } return; } void PreOrder(int cur) { if(t1[cur]=='0') return; cout<<t1[cur]; PreOrder(2cur); PreOrder(2cur+1); return; } int main() { memset(t1,'0',sizeof(t1)); int n=1; while(cin>>a1[n]) n++; for(int i=1;i<n;i++) cin>>a2[i]; work(0,n-1,0,n-1,1); PreOrder(1); return 0; } ``` 楼主代码~~
by hovny @ 2018-12-18 17:47:58


```cpp #include<iostream> #include<cstdio> #include<cstring> using namespace std; char a1[10],t1[1<<10],a2[10]; void work(int L1,int R1,int L2,int R2,int root) { if(L1>R1) return; for(int i=L1; i<=R1; i++) { if(a1[i]==a2[R2]) { t1[root]=a2[R2]; int ct=i-L1; work(L1,i-1,L2,L2+ct-1,root2); work(i+1,R1,L2+ct,R2-1,root2+1); break; } } return; } void PreOrder(int cur) { if(t1[cur]=='0') return; cout<<t1[cur]; PreOrder(2cur); PreOrder(2cur+1); return; } int main() { memset(t1,'0',sizeof(t1)); int n=1; while(cin>>a1[n]) n++; for(int i=1;i<n;i++) cin>>a2[i]; work(0,n-1,0,n-1,1); PreOrder(1); return 0; } ``` 应该是这样……
by hovny @ 2018-12-18 17:48:57


```cpp #include<iostream> #include<cstdio> #include<cstring> using namespace std; char a1[10],t1[1<<10],a2[10]; void work(int L1,int R1,int L2,int R2,int root) { if(L1>R1) return; for(int i=L1; i<=R1; i++) { if(a1[i]==a2[R2]) { t1[root]=a2[R2]; int ct=i-L1; work(L1,i-1,L2,L2+ct-1,root2); work(i+1,R1,L2+ct,R2-1,root2+1); break; } } return; } void PreOrder(int cur) { if(t1[cur]=='0') return; cout<<t1[cur]; PreOrder(2*cur); PreOrder(2*cur+1); return; } int main() { memset(t1,'0',sizeof(t1)); int n=1; while(cin>>a1[n]) n++; for(int i=1;i<n;i++) cin>>a2[i]; work(0,n-1,0,n-1,1); PreOrder(1); return 0; } ``` 这样!!!
by hovny @ 2018-12-18 17:50:19


@[lovny](/space/show?uid=83564) 谢谢
by zach0914 @ 2018-12-29 19:43:37


@[lovny](/space/show?uid=83564) 为什么不是n=0?
by zach0914 @ 2018-12-29 19:49:18


|