一.      模仿树的的先序遍历。范围是1000个节点。用数组存储节点的信息。

二.      要注意的是,头结点是不确定的,所以在前序遍历之前要找出头结点,除了头结点的下标值出现一次之外,其他结点的下标值都会出现两次,根据这个特征可以利用异或运算(^),算出头结点。

三.      源码

 //
// main.cpp
// sicily-1156
//
// Created by ashley on 14-10-12.
// Copyright (c) 2014年 ashley. All rights reserved.
// #include <iostream>
using namespace std;
typedef struct
{
char element;
int leftChild;
int rightChild;
}node;
node binaryTree[];
void preorder(int front)
{
cout << binaryTree[front].element;
if (binaryTree[front].leftChild != ) {
preorder(binaryTree[front].leftChild);
}
if (binaryTree[front].rightChild != ) {
preorder(binaryTree[front].rightChild);
}
}
int main(int argc, const char * argv[])
{
int counts = ;
char ele;
int number;
int left, right;
while (cin >> counts) {
int source = ;
for (int i = ; i < counts; i++) {
cin >> number >> ele >> left >> right;
source = source ^ left ^ right ^ number;
binaryTree[number] = node{ele, left, right};
}
preorder(source);
cout << endl;
}
return ;
}

Sicily-1156的更多相关文章

  1. Sicily 1156. Binary tree

    题目地址:1156. Binary tree 思路: 如何愉快地前序输出呢,要在存储数据的时候根据位置来存放数据! 一开始被自己蠢哭,一直以为第一个输入的就是根结点(例子的祸害呀啊啊啊!!!!),结果 ...

  2. sicily 中缀表达式转后缀表达式

    题目描述 将中缀表达式(infix expression)转换为后缀表达式(postfix expression).假设中缀表达式中的操作数均以单个英文字母表示,且其中只包含左括号'(',右括号‘)’ ...

  3. sicily 1934. 移动小球

    Description 你有一些小球,从左到右依次编号为1,2,3,...,n. 你可以执行两种指令(1或者2).其中, 1 X Y表示把小球X移动到小球Y的左边, 2 X Y表示把小球X移动到小球Y ...

  4. ural 1156. Two Rounds

    1156. Two Rounds Time limit: 2.0 secondMemory limit: 64 MB There are two rounds in the Urals Champio ...

  5. FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼)

    FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目 ...

  6. 大数求模 sicily 1020

        Search

  7. Sicily 1510欢迎提出优化方案

    这道题我觉得是除1000(A-B)外最简单的题了……不过还是提出一个小问题:在本机用gcc编译的时候我没包括string.h头文件,通过编译,为什么在sicily上却编译失败? 1510. Mispe ...

  8. 编程之美2015初赛第一场 hihoCoder #1156 : 彩色的树(染色问题)

    #1156 : 彩色的树 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定一棵n个节点的树,节点编号为1, , …, n.树中有n - 1条边,任意两个节点间恰好有一条 ...

  9. sicily 1063. Who's the Boss

    Time Limit: 1sec    Memory Limit:32MB  Description Several surveys indicate that the taller you are, ...

  10. 九度OJ 1156:谁是你的潜在朋友 (并查集)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5802 解决:2593 题目描述: "臭味相投"--这是我们描述朋友时喜欢用的词汇.两个人是朋友通常意味着他们存在着许多 ...

随机推荐

  1. 征服 Redis + Jedis + Spring —— 配置&常规操作

    Spring提供了对于Redis的专门支持:spring-data-redis.此外,类似的还有: 我想大部分人对spring-data-hadoop.spring-data-mongodb.spri ...

  2. Cglib学习站点(转)

    1.CGlib简单介绍,访问地址:http://www.blogjava.net/stone2083/archive/2008/03/16 /186615.html,从简单的示例到不同业务场景的变化, ...

  3. [翻译]如何用YII写出安全的WEB应用

    前言 虽然本文是基于YII1.1,但其中提到的安全措施适用于多数web项目安全场景,所以翻译此文,跟大家交流.原文地址. 目录 安全基本措施... 2 验证与过滤用户的输入信息... 2 原理... ...

  4. [Usaco2009 Feb]Revamping Trails 堆优化 Dijkstra

    .. 这题一眼就看出就是一个二维DP dp[i][j]表示到点i使用了j次免费边的最短距离 MD 卡SPFA.. 遂写dij. AC #include <iostream> #includ ...

  5. JS计算两个日期相差几天

    function Computation(sDate1, sDate2){ var aDate, oDate1, oDate2, iDays aDate = sDate1.split("-& ...

  6. zoj 2071 Technology Trader 最大权闭合子图

    传送门 和上一题一样, 也是一个最大权闭合子图.不过建图好麻烦的感觉  写了好久. 源点和原材料连边, 权值为val. 汇点和产品连边, 权值为val. 产品与和它有关系的材料连边, 权值inf. 最 ...

  7. iOS 开发技巧

    快速移除键盘 之前一直是讲view的父类改成control,然后加一个全屏按钮,点击让键盘消失.这个方法要写好多代码,现在一个比较好的方法是重写一个下面的方法: - (void)touchesBega ...

  8. table常用

    <style> table,table td { border: 1px solid #ccc; border-collapse:collapse; } </style> 注意 ...

  9. QR Code於台灣各行業的行銷應用案例介紹

    當走在東京的大街小巷時,在五花八門的廣告看板.雜誌.護照簽證.海關.宣傳品.廣告.旅遊和導覽手冊.產品包裝.甚至在餐廳菜單上,皆可看到上面有一組黑色神秘二維條碼圖案:QR Code,當看到有興趣的商品 ...

  10. 7篇Model View和4篇双缓冲

    http://www.cnblogs.com/SkylineSoft/category/299475.html