Skip to content

Commit 0c87b03

Browse files
committed
solved 4256
1 parent e6b259f commit 0c87b03

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

4000/4256/4256.cpp

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#include <bits/stdc++.h>
2+
using namespace std;
3+
4+
int T, n, preorder[1005], inorder[1005], visited[1005];
5+
int pre_idx, in_idx;
6+
7+
void go(){
8+
if(pre_idx >= n) return;
9+
int r = preorder[pre_idx++];
10+
visited[r] = 1;
11+
12+
if(inorder[in_idx] != r) go();
13+
in_idx++;
14+
if(!visited[inorder[in_idx]]) go();
15+
16+
cout << r << " ";
17+
}
18+
19+
int main() {
20+
ios::sync_with_stdio(false); cin.tie(NULL);
21+
22+
cin >> T;
23+
24+
for(int i=0;i<T;++i){
25+
cin >> n;
26+
pre_idx = 0;
27+
in_idx = 0;
28+
memset(preorder, 0, sizeof(preorder));
29+
memset(visited, 0, sizeof(visited));
30+
for(int j=0;j<n;++j) cin >> preorder[j];
31+
for(int j=0;j<n;++j) cin >> inorder[j];
32+
33+
go();
34+
cout << endl;
35+
}
36+
37+
return 0;
38+
}

4000/4256/test

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2
2+
4
3+
3 2 1 4
4+
2 3 4 1
5+
8
6+
3 6 5 4 8 7 1 2
7+
5 6 8 4 3 1 2 7

0 commit comments

Comments
 (0)