zoukankan      html  css  js  c++  java
  • UVa 699 下落的树叶

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=640

    给一颗二叉树,每个结点都有一个水平位置,左子节点在它左边一个单位,右子节点在右边一个单位。从左向右输出每个水平位置的所有结点的权值之和。

    一开始还建了树,后来发现建了树也啥用。哎,到现在为止,我的递归思想还是太弱了。

     1 #include<iostream>
     2 #include<cstring>
     3 using namespace std;
     4 
     5 int sum[1000];
     6 
     7 void init(int pos)
     8 {
     9     int x;
    10     cin >> x;
    11     if (x == -1)  return;
    12     sum[pos] += x;
    13     init(pos - 1);
    14     init(pos + 1);
    15 }
    16 
    17 int main()
    18 {
    19     int t;
    20     int count = 0;
    21     while (cin >> t&&t != -1)
    22     {
    23         memset(sum, 0, sizeof(sum));
    24         sum[500] = t;
    25         init(500-1);
    26         init(500 + 1);
    27         int i = 0;
    28         while (sum[i] == 0)  i++;
    29         int p = 500;
    30         while (sum[p] != 0)   p++;
    31         cout << "Case " << ++count << ":" << endl;
    32         for (int k = i; k < p-1; k++)
    33         {
    34             cout << sum[k] << " ";
    35         }
    36         cout << sum[p-1] << endl<<endl;
    37     }
    38     return 0;
    39 }

    2016-12-02  15:36:33

  • 相关阅读:
    day03
    day02
    day01
    springBoot相关(二)
    predis操作redis方法大全
    按钮变色变色变色
    mysql中获取一天、一周、一月时间数据的各种sql语句写
    wordpress速度慢
    html关于强制显示、隐藏浏览器的滚动条
    css全局样式表
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6125985.html
Copyright © 2011-2022 走看看