题意:
给定一个树的BFS和DFS,求这棵树。
分析:
拿dfs的序列,段,每一段相当一树,这样就可以利用bfs的序列去将dfs的序列,然后利用一个队列去每一段,不断求出子树即可。
代码:
#include#include #include #include #include using namespace std; const int maxn=1010; vector g[maxn]; int pos[maxn],dfs[maxn],n; int main() { while(~scanf("%d",&n)) { memset(pos,0,sizeof(pos)); memset(dfs,0,sizeof(dfs)); int k,p,q=0; int i; for(i=0;i