uva 712

原创 2015年11月20日 17:55:22

题目大意:给出一个树的层数和一个数的叶子节点的值分别是什么,然后给出类似于哈夫曼树的编码 然后按照编码去输出叶子节点的值是多少。

思路:
把编码变成二进制之后,就是叶子就节点所对应的下标。。

#include <iostream>
using namespace std;
#include <string>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <cstdlib>

char rec[150][10];
int i;
int sum1[150];

void solve() {
    int j = 0;
    int t = 0, k = 0, sum = 0, p = 0;
    char c;

    for (j = 0; j < i ; j++){
        sum = 0;
        k = 0;

        for (t = strlen(rec[j])-1; t >= 0; t--){
            int h = rec[j][t] - 48;
            sum = sum + h * pow(2, k++);
        }
        sum1[p++] = sum;
    }

}

int main() {
    int n, m, flag = 0;
    char s[30], leafs[150];

    while (scanf("%d", &n) && n) {

        getchar();
        gets(s);
        scanf("%s", leafs);
        scanf("%d", &m);

        i = 0;
        flag++;
        memset(rec, '\0', 150 * 10 * sizeof(char));

        while (m--) {
            scanf("%s", rec[i++]);
        }
        solve();

        printf("S-Tree #%d:\n", flag);
        for (int q = 0; q < i; q++)
            printf("%c", leafs[sum1[q]]);
        printf("\n\n");
    }

    return 0;

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

UVA 712(二叉树模拟)

L - S-Trees Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status...
  • u013268685
  • u013268685
  • 2014年05月30日 15:15
  • 710

uva 712 S-Trees(利用二叉树的特点)

S-Trees  A Strange Tree (S-tree) over the variable set  is a binary tree representing a Boole...
  • u011328934
  • u011328934
  • 2013年08月01日 00:08
  • 1183

nyoj 712 探寻宝藏

nyoj 712 探寻宝藏
  • u012804490
  • u012804490
  • 2014年04月23日 16:41
  • 697

UVA-815 flooded!(白书说能锻炼思维的题)

题意挺长的,而且是英文的,我这里就简述一下吧,就是有m*n个格子,每个格子都是10*10的规格(高度是无限的),给出每个格子的海拔,然后给出一个洪水的量,输出最后水深度和完全被水覆盖的面积百分比。这个...
  • FishSeeker
  • FishSeeker
  • 2016年04月08日 09:36
  • 954

习题4-8 特别困的学生 UVa12108

#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #define N 1000000 int n...
  • u014800748
  • u014800748
  • 2014年08月06日 21:35
  • 1871

UVA 1658 - Admiral (拆点+最小费用流)

该题中的拆点法是解决几点容量的通用方法 。  因为只有容量限制的话仍然不能满足每个结点只访问一次这个限制 ,原因很简单,大家画个图就知道了,假设从起点有两条路到同一个结点2,然后又都到末点n,虽然它们...
  • weizhuwyzc000
  • weizhuwyzc000
  • 2015年08月21日 20:53
  • 1094

uva 12174 - Shuffle(预处理+暴力)

题目链接:uva 12174 - Shuffle 题目大意:有一个播放器用于播放音乐,现在给出s(已有曲目的数量),n给出记录的长度。播放器有随机播放的功能,每次生成一个1~s的随机系列进行...
  • u011328934
  • u011328934
  • 2014年02月16日 19:05
  • 1496

Rails(UVa514)(栈)

Rails  There is a famous railway station in PopPush City. Country there is incredibly hilly. Th...
  • hdd871532887
  • hdd871532887
  • 2015年12月21日 07:13
  • 652

例题10-2 不爽的裁判 UVa12169

1.题目描述:点击打开链接 2.解题思路:本题要求找到合适的一组a,b,使得按照递推公式能输出正确的x2,x4...可以枚举a值,通过列写方程得到b的值,但这里有一个问题,这里是一个同余方程,等号的...
  • u014800748
  • u014800748
  • 2015年02月20日 12:31
  • 890

区间DP(修缮长城,uva 1336)

十几发一直RTE和TLE。 万万没想到是输入输出的问题。。。 while(scanf("%d %d %d",&n,&v,&x)&&n+v+x) 这样也不行while(scanf("%d %d %d"...
  • xl2015190026
  • xl2015190026
  • 2016年09月26日 14:27
  • 344
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uva 712
举报原因:
原因补充:

(最多只允许输入30个字)