一.      模仿树的的先序遍历。范围是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. JDK,JRE,JVM区别与联系(转)

    JDK : JavaDevelopment ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具 ...

  2. MyEclipse 免安装版制作

    前言:以MyEclipse6.0为例,安装目录,例如如d:\java\MyEclipse6.0 (1)新建MyEclipse 6.0.bat文件 新建位置:当前MyEclipse根目录 文件内容: s ...

  3. jq 22 一个很好图片显示

    Picbox 示例页面:http://www.jq22.com/Demo961

  4. angular的$q服务和promise模式

    此承诺/延迟(promise/deferred)实现的灵感来自于 Kris Kowal's Q CommonJS Promise建议文档 将承诺(promise) 作为和 异步执行操作(action) ...

  5. Consuming Hidden WCF RIA Services

    原文 http://codeseekah.com/2013/07/05/consuming-hidden-wcf-ria-services/ A Silverlight application mad ...

  6. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...

  7. ThinkPad x200为何总是CPU占用50%

    2009年,我从美国买回一台ThinkPad X200 Tablet,Windows XP Tablet PC Edition 2005版,服役几年一直很正常.直到2012年初的时候,突然发现电脑非常 ...

  8. php获取apk信息

    使用方法如下: <?php require('apk_parser.php'); $p = new ApkParser(); /* if($argc<2) { echo "usa ...

  9. httpunit使用演示样例

    import java.io.IOException; import java.net.MalformedURLException; import org.xml.sax.SAXException; ...

  10. 从Android中Activity之间的通信说开来[转]

    http://www.cnblogs.com/virusswb/archive/2011/08/02/2124824.html 引言 最近两个星期在研究android的应用开发,学习了android应 ...