数据结构实验之二叉树一:树的同构 (SDUT 3340)
题解:把原本结构体的左右子树的类型定义成 int 型,用来存放这个结点的左右子树的编号,分别建造两棵二叉树,按个比较,如果在第二棵树中没有找到,那么就不用在判断了。
#include <bits/stdc++.h>
using namespace std;
struct node
{
char data;
int l,r;
};
struct node t1[20],t2[20];
void build(struct node *t, int n)
{
for(int i = 0; i < n; i ++)
{
char s[55];
scanf("%s", s);
t[i].data = s[0];
scanf("%s", s);
if(s[0] == '-') t[i].l = 100;
else t[i].l = s[0] - '0';
scanf("%s", s);
if(s[0] == '-') t[i].r = 100;
else t[i].r = s[0] - '0';
}
}
int ok(int i, int j)
{
if(t1[t1[i].l].data == t2[t2[j].l].data && t1[t1[i].r].data == t2[t2[j].r].data)
return 1;
else if(t1[t1[i].r].data == t2[t2[j].l].data && t1[t1[i].l].data == t2[t2[j].r].data)
return 1;
else return 0;
}
int main()
{
int n,m;
while(~scanf("%d",&n))
{
build(t1,n);
scanf("%d",&m);
build(t2,m);
int f = 0,i,j;
for(i = 0; i < n; i ++)
{
for( j = 0; j < m; j ++)
{
if(t1[i].data == t2[j].data)
{
if(ok(i,j)==0){
f = 1;
break;
}
else break;
}
}
if(f)break;
if(j >= m){f = 1;break;}
}
if(f)printf("No\n");
else printf("Yes\n");
}
return 0;
}
数据结构实验之二叉树一:树的同构 (SDUT 3340)的更多相关文章
- SDUT 3340 数据结构实验之二叉树一:树的同构
数据结构实验之二叉树一:树的同构 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定两棵树 ...
- SDUT OJ 数据结构实验之二叉树一:树的同构
数据结构实验之二叉树一:树的同构 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
- SDUT-3340_数据结构实验之二叉树一:树的同构
数据结构实验之二叉树一:树的同构 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定两棵树T1和T2.如果T1可以通过 ...
- SDUT 3345 数据结构实验之二叉树六:哈夫曼编码
数据结构实验之二叉树六:哈夫曼编码 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 字符的编 ...
- SDUT-2804_数据结构实验之二叉树八:(中序后序)求二叉树的深度
数据结构实验之二叉树八:(中序后序)求二叉树的深度 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 已知一颗二叉树的中序 ...
- SDUT-3441_数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 已知二叉树的一个按先序遍历输入的字符 ...
- SDUT 3346 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...
- SDUT 3344 数据结构实验之二叉树五:层序遍历
数据结构实验之二叉树五:层序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...
- SDUT OJ 数据结构实验之二叉树八:(中序后序)求二叉树的深度
数据结构实验之二叉树八:(中序后序)求二叉树的深度 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Probl ...
- SDUT OJ 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
随机推荐
- Java单例最好的设计模式:Spring 之 GlobalAdvisorAdapterRegistry
先上代码: public abstract class GlobalAdvisorAdapterRegistry { /** * Keep track of a single instance so ...
- lambda的一些用法
lambda在函数中调用时可以不用传入形参,当需要时才传入参数,方便一些场合中的使用(当参数一直变化时,仍然需要调用函数,可以采用如下方式).如以下代码所示. import numpy as np d ...
- nodejs之express的中间件
express中间件分成三种 内置中间件 static 自定义中间件 第三方中间件 (body-parser) (拦截器) 全局自定义中间件 在请求接口时 有几个接口都要验证传来的内容是否存在或者是否 ...
- Ubuntu 与 Debian 的关系
Debian 于 1993年8月16日 由一名美国普渡大学学生 Ian Murdock 首次发表. Debian 是由 GPL 和其他自由软件许可协议授权的自由软件组成的操作系统, 由 Debian ...
- NLP使用pytorch框架,pytorch安装
pytorch的安装方法及出现问题的解决方案: 安装pytorch,使用pip 安装,在运行代码的时候会报错,但是导包的时候不会报错,因此要采用conda的方式安装 1.找到miniconda的网 ...
- Android驱动之设备树简介
目录 一. 设备树简介 2 1. 问题一:为什么需要设备树? 2 ①名词解释: 2 ②DT详细介绍: 2 ③DTS是DT的源文件,描述Device Tree中的设备 ...
- ubuntu 使用MySQL Workbench 连接远程云服务器mysql
前提:我的是腾讯云的服务器,所以需要在安全组开发端口. 配置安全组 1.创建新用户 一般为了安全性,我们不直接使用root用户,而是选择创建一个新用户. 在服务器中,输入 mysql -u root ...
- java - day019 - 数据库
https://www.cnblogs.com/myxq666/p/7787744.html Mac 安装MySQL步骤 什么是数据库 数据库: 英文名称Database ,简称 DB 数据库是按照数 ...
- 【OF框架】框架规范介绍
一.目录规范 二.命名规范 三.其它规范
- Java程序员完美设置,Mac编程指南
重装了不知道多少次Windows,Linux发行版换来换去总是觉得不满意,终于下定决心在年头买了人生中第一台Mac. 为什么是Mac 现在的移动端.服务器端跑的大多数都是Unix系统,熟悉Un ...