NYNU_省赛选拔题(3)
题目描述
二叉树,若其与自己的镜像完全相同,就称其为镜像树。

是一棵镜像树;
而

不是镜像树。
现给你一棵二叉树,请你判断其是不是镜像树。
输入
每组数据第一行是一个正整数n(1<=n<=100),表示二叉树中节点的数量
下面n行,每行有三个正整数a b c(1<=a<=100,0<=b,c<=100),表示以编号a的节点为父节点,它的左孩子节点编号为b,右孩子节点编号为c,若b=0表示没有左孩子节点,c=0表示没有右孩子节点,树的根节点是编号为1的节点,节点的编号都>=1(保证数据中给出的二叉树拓扑结构是合法的)
下面一行是n个正整数vi(1<=vi<=100),表示编号为i的节点的值。
输出
样例输入
2
7
1 2 3
2 4 5
3 6 7
4 0 0
5 0 0
6 0 0
7 0 0
1 2 2 3 4 4 3
5
1 2 3
2 0 4
3 0 5
4 0 0
5 0 0
1 2 2 3 3
样例输出
Yes
No
#include <iostream>
using namespace std;
bool flag=;
struct node
{
int data;
int lchild,rchild; }t[];
void dfs(int r1,int r2)
{
if(r1==&&r2==)
return ;
else if(r1==&&r2!=||r1!=&&r2==||t[r1].data!=t[r2].data)
{
flag=;
return ;
}
dfs(t[r1].lchild,t[r2].rchild);
dfs(t[r1].rchild,t[r2].lchild);
}
int main()
{
int i,j,T,n;
cin>>T;
while(T--)
{
cin>>n;
for(i=;i<=n;i++)
{
int k;
cin>>k;
cin>>t[i].lchild>>t[i].rchild;
}
for(i=;i<=n;i++)
cin>>t[i].data;
flag=;
dfs(t[].lchild,t[].rchild);
if(flag)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}
NYNU_省赛选拔题(3)的更多相关文章
- NYNU_省赛选拔题(10)
题目描述 Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recog ...
- NYNU_省赛选拔题(8)
题目描述 一天萌萌哒孟孟学长去博物馆参观,他想看到更多的东西.博物馆可以表示为N × M细胞的一个矩形区域. “.”表示为路,“*”表示为墙壁,每个墙壁上面都挂有美丽的画卷.孟孟学长可以看到与他所在位 ...
- NYNU_省赛选拔题(7)
题目描述 In computer science, a binary tree is a tree data structure in which each node has at most two ...
- NYNU_省赛选拔题(6)
题目描述 有一天,小米找到了一个藏宝的迷宫地图,迷宫在一个沙漠里有,迷宫里面有许多宝藏.迷宫里可能有N个藏宝地点,用1到K标记.藏宝地点之间最多有一条通路相连.标记1为迷宫的进出口. 他已经知道其中K ...
- NYNU_省赛选拔题(5)
题目描述 P 的一家要出去旅游,买了当地的地图,发现各地分别由各个景点,若 P 想使家人分队去景点,尽快到达各个景点(必须所有景点),并且最终所有家人都到达 M 所在的景点. 你用程序告诉 P 最 ...
- 2013杭州现场赛B题-Rabbit Kingdom
杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...
- 2017年第六届数学中国数学建模国际赛(小美赛)C题解题思路
这篇文章主要是介绍下C题的解题思路,首先我们对这道C题进行一个整体的概括,结构如下: C题:经济类 第一问:发现危险人群. 发现:欺诈的方式开始.雇佣或浪漫的承诺. 数据→确定特定的经济萧条地区→确定 ...
- 2013年山东省赛F题 Mountain Subsequences
2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...
- 2013年省赛H题
2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...
随机推荐
- WPF动态加载3D 放大-旋转-平移
原文:WPF动态加载3D 放大-旋转-平移 WavefrontObjLoader.cs 第二步:ModelVisual3DWithName.cs public class ModelVisual3DW ...
- 在CentOS下安装配置MySQL(转)
今天刚把项目做完,需要马上部署到新到的测试服务器上,于是乎,要在服务器上安装环境,由于好久在linux上部署了,手有些生,比较费劲装完,现在把重要步骤贴出,供自己以后参照.1.首先要看看有没有已经安装 ...
- poj 3225 间隙(横截面和填充操作)
http://poj.org/problem?id=3225 一道题又做了一天. .这道题对我来说起初有N多难点. 1:区间的开闭怎样解决. . 2:如何把区间的交并补.对称差转化为对线段树的操作. ...
- Xaml于string(弦)定义常量和处理空间
xml version="1.0" encoding="UTF-8"? > (1)基本使用方法 xaml中能够实例化各种对象,比方在ResourceDic ...
- node.js基础:HTTP服务器
一个HTTP服务器响应 var http = require('http'); http.createServer(function(request,response){ response.end(' ...
- HDU 1274 展开字符串 (递归+string类)
题目链接:HDU 1274 展开字符串 中文题. 左括号进入DFS函数,右括号return到上一层. 注意return回去的是这个一层递归中的括号中的字母串. AC代码: #include<st ...
- 打印出所有"水仙花数
时间限制: 1 Sec 内存限制: 128 MB 提交: 695 解决: 352 [提交][状态][讨论版] 题目描述 打印出所有"水仙花数",所谓"水仙花数&quo ...
- C语言标准库函数qsort具体解释
1 函数简单介绍 功 能: 使用高速排序例程进行排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(c ...
- SharePoint使用BCS开发你第一个应用程序(三)
SharePoint使用BCS开发你第一个应用程序(三) 创建外部内容类型. 创建外部内容类型有三种不同方式: 1. 在记事本上手写XML代码(不推荐). 2. 使用SharePoin ...
- 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件
原文:数据库管理--Powershell--使用Powershell脚本找出消耗最多磁盘空间的文件 原文译自: http://www.mssqltips.com/sqlservertip/2774/p ...