zoukankan      html  css  js  c++  java
  • UVA 712-S-Trees(满二叉树的简单查询)

    题意:给一棵满二叉树,叶子节点赋予权值,0或者1,对于每个查询输出叶子节点的权值,每个查询0代表往左走,1代表往右走,这题坑的地方是层的访问顺序,如第二组测试,由上到下依次是x3,x1,x2,假如给一个查询110,则从上到下的顺序是011,对应第3个叶子节点。二进制数转变成十进制数对应的叶子的权值,输出即可。

    代码如下:

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<set>
    #include<map>
    #include<queue>
    #include<vector>
    #include<iterator>
    #include<utility>
    #include<sstream>
    #include<iostream>
    #include<cmath>
    #include<stack>
    using namespace std;
    const int INF=1000000007;
    const double eps=0.00000001;
    int deep;        //最大深度
    string L;        //叶子对应的权值的字符串
    int belong[10],leaf[1005],ans[1005];    //belong[]代表Xi对应第几层
    void Get_Tree()
    {
        for(int i=0;i<deep;i++)
        {
            char S[4];
            scanf("%s",S);
            int id=S[1]-'0'-1;    //分离编号
            belong[id]=i;         //记录
        }
    }
    void Get_Leaf()
    {
        cin>>L;  //输入叶子权值
    }
    int keep[10];
    void query(int Case)
    {
        int M;
        cin>>M;
        string ret;
        for(int i=1;i<=M;i++)
        {
            string command;
            cin>>command;
            int len=command.length();
            for(int i=0;i<len;i++)
            {
                int a=command[i]-'0';
                keep[belong[i]]=a;        //保存下来
            }
            int id=0;
            for(int i=0;i<len;i++) id=id*2+keep[i];  //得到十进制数
            ret+=L[id];                              
        }
        printf("S-Tree #%d:
    ",Case);
        cout<<ret<<endl;
        cout<<endl;
    }
    int main()
    {
        int kase=0;
        while(cin>>deep)
        {
            if(!deep)  break;
            Get_Tree();
            Get_Leaf();
            query(++kase);
        }
        return 0;
    }
  • 相关阅读:
    移动端开发rem布局之less+媒体查询布局的原理步骤和心得
    前端实现文件下载方式总汇
    如何能提高CSS编写技巧?提高Web前端开发效率
    常用的CSS命名规则
    CSS背景background
    CSS盒子模型
    简单的树形菜单如何写?
    彻底掌握css动画【transition】
    首页白屏优化实践
    我来聊聊面向模板的前端开发
  • 原文地址:https://www.cnblogs.com/wust-ouyangli/p/4743147.html
Copyright © 2011-2022 走看看