zoukankan      html  css  js  c++  java
  • HDU5444 Elven Postman

    按要求递归建树输出~

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    const int maxn=1014;
    struct node  {
        int data;
        node * left;
        node * right;
    };
    int pre[maxn],in[maxn],T,N,q,x;
    void init () {
        fill (pre,pre+maxn,0);
        fill (in,in+maxn,0);
    }
    node * create (int preL,int preR,int inL,int inR) {
        if (preL>preR) return NULL;
        node * root=new node;
        root->data=pre[preL];
        int k;
        for (k=inL;k<=inR;k++) {
            if (in[k]==pre[preL]) break;
        }
        int numLeft=k-inL;
        root->left=create(preL+1,preL+numLeft,inL,k-1);
        root->right=create(preL+numLeft+1,preR,k+1,inR);
        return root;
    } 
    void dfs (node * root,int v) {
        if (root->data==v) {
            printf ("
    ");
            return;
        }
        if (v<root->data) printf ("E"),dfs (root->left,v);
        else printf ("W"),dfs (root->right,v);
    }
    int main () {
        scanf ("%d",&T);
        while (T--) {
            scanf ("%d",&N);
            for (int i=1;i<=N;i++) in[i]=i;
            for (int i=1;i<=N;i++) scanf ("%d",&pre[i]);
            node * root=create(1,N,1,N);
            scanf ("%d",&q);
            for (int i=0;i<q;i++) scanf ("%d",&x),dfs (root,x);
        }
        return 0;
    } 
  • 相关阅读:
    yii2之依赖注入与依赖注入容器
    MySQL查询性能优化
    MySQL索引(2)
    go es
    es数据操作入门
    es环境搭建
    gRPC接入etcd
    etcd简单介绍
    Go调用NSQ简单实践
    NSQ快速入门实践
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/12305572.html
Copyright © 2011-2022 走看看