#dfs
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #define MAX 200005 #define INF 987654321 #define MOD 31991 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair<int, int> pi; int n, pre[1000], node[1000]; void dfs(int now,int s, int e) { int i; if (s > e) return; if (s == e) { printf("%d ", pre[now]); return; } for (i = s; i <= e; i++) if (node[i] == pre[now]) break; dfs(now+1,s, i - 1); dfs(now+i-s+1,i + 1, e); printf("%d ", pre[now]); return; } int main() { int tc; scanf("%d", &tc); while (tc--) { scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &pre[i]); for (int i = 0; i < n; i++) scanf("%d", &node[i]); dfs(0, 0, n - 1); printf("\n"); } return 0; }
'IT > BOJ' 카테고리의 다른 글
백준(BOJ) 2042 구간 합 구하기 ** (0) | 2018.09.17 |
---|---|
백준(BOJ) 2512 예산 ** (0) | 2018.09.14 |
백준(BOJ) 11067 피타고라스 기대값 * (0) | 2018.08.21 |
백준(BOJ) 10250 ACM 호텔 * (0) | 2018.08.21 |
백준(BOJ) 13333 Q-인덱스 * (0) | 2018.08.17 |