标签:
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 147 Accepted Submission(s): 90
#include<bits/stdc++.h> #define F first #define S second using namespace std; const int M = 1e3 + 10 ; pair<int,int> g[M] ; int n , x ; void BST (int u) { if (x < u) { if (g[u].F == -1) { g[u].F = x ; return ; } BST (g[u].F) ; } else { if (g[u].S == -1) { g[u].S = x ; return ; } BST (g[u].S) ; } } void dfs (int u) { if (x == u) { puts ("") ; return ; } if (x < u) { printf ("E") ; dfs (g[u].F) ; } else { printf ("W") ; dfs (g[u].S) ; } } int main () { int T ; scanf ("%d" , &T ) ; while (T --) { scanf ("%d" , &n) ; int root ; scanf ("%d" , &root) ; for (int i = 1 ; i <= n ; i ++) g[i] = {-1,-1} ; for (int i = 2 ; i <= n ; i ++) { scanf ("%d" , &x) ; BST (root) ; } int q ; scanf ("%d" , &q) ; while (q --) { scanf("%d" , &x) ; dfs (root) ; } } return 0 ; }
标签:
原文地址:http://www.cnblogs.com/get-an-AC-everyday/p/4805613.html