1. 程式人生 > >5-3 樹的同構 (25分)

5-3 樹的同構 (25分)

5-3 樹的同構   (25分)

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。


圖1


圖2

現給定兩棵樹,請你判斷它們是否是同構的。

輸入格式:

輸入給出2棵二叉樹樹的資訊。對於每棵樹,首先在一行中給出一個非負整數N (10),即該樹的結點數(此時假設結點從0到N1編號);隨後N行,第i行對應編號第i個結點,給出該結點中儲存的1個英文大寫字母、其左孩子結點的編號、右孩子結點的編號。如果孩子結點為空,則在相應位置上給出“-”。給出的資料間用一個空格分隔。注意:題目保證每個結點中儲存的字母是不同的。

輸出格式:

如果兩棵樹是同構的,輸出“Yes”,否則輸出“No”。

輸入樣例1(對應圖1):

8
A 1 2
B 3 4
C 5 -
D - -
E 6 -
G 7 -
F - -
H - -
8
G - 4
B 7 6
F - -
A 5 1
H - -
C 0 -
D - -
E 2 -

輸出樣例1:

Yes

輸入樣例2(對應圖2):

8
B 5 7
F - -
A 0 3
C 6 -
H - -
D - -
G 4 -
E 1 -
8
D 6 -
B 5 -
E - -
H - -
C 0 2
G - 3
F - -
A 1 4

輸出樣例2:

No
 
  • 時間限制:400ms
  • 記憶體限制:64MB
  • 程式碼長度限制:16kB
  • 判題程式:系統預設
  • 作者:陳越
  • 單位:浙江大學

相關推薦

5-3 (25)

5-3 樹的同構   (25分) 給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A

PTA 資料結構與演算法題目集(中文)5-3 (25)

#include <stdio.h> #include <string.h> /* 題目以26個大寫字母為結點值,可以建立一個26*2的二維陣列 表示結點以及結點的左右結點 若只有一個結點,則判斷兩根是否相同 若有多節點,則先將前一棵樹的結點的左右結

(2016秋資料結構課後練習題總結)03-1 (25)

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 圖1 圖2 現給定兩棵樹,請你判斷它們是否是

03-1 (25)

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 圖1 圖2 現給定兩棵樹,請你判斷它們是否是同構的。 輸入格式:

5-3 模擬EXCEL排序 (25)

Excel可以對一組紀錄按任意指定列排序。現請編寫程式實現類似功能。 輸入格式: 輸入的第一行包含兩個正整數NN(\le 10^5≤10​5​​) 和CC,其中NN是紀錄的條數,CC是指定排序的列號。之後有 NN行,每行包含一條學生紀錄。每條學生紀錄由學號(6位數

PTA資料結構 5-3

題目:   給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 圖1

5-1 Maximum Subsequence Sum (25)

eth rst line input tin 無奈 ati scan scripts Given a sequence of KK integers { N_1N?1??, N_2N?2??, ..., N_KN?K?? }. A continuous subsequenc

【BZOJ3162】獨釣寒江雪 +DP

eight pri 相同 題解 con oid src str mil 【BZOJ3162】獨釣寒江雪 題解:先進行樹hash,方法是找重心,如果重心有兩個,則新建一個虛點將兩個重心連起來,新點即為新樹的重心。將重心當做根進行hash,hash函數不能太簡單,

7-3 括號匹配 (25

給定一串字元,不超過100個字元,可能包括括號、數字、字母、標點符號、空格,程式設計檢查這一串字元中的( ) ,[ ],{ }是否匹配。 輸入格式: 輸入在一行中給出一行字串,不超過100個字元,可能包括括號、數字、字母、標點符號、空格。 輸出格式: 如果括號配對,輸出yes,否

5-6 PAT排名彙總 (25)

5-6 PAT排名彙總   (25分) 計算機程式設計能力考試(Programming Ability Test,簡稱PAT)旨在通過統一組織的線上考試及自動評測方法客觀地評判考生的演算法設計與程

PTA-資料結構 5-26 Windows訊息佇列 (25)

訊息佇列是Windows系統的基礎。對於每個程序,系統維護一個訊息佇列。如果在程序中有特定事件發生,如點選滑鼠、文字改變等,系統將把這個訊息加到隊列當中。同時,如果佇列不是空的,這一程序迴圈地從佇列中按照優先順序獲取訊息。請注意優先順序值低意味著優先順序高。請編輯程式

BZOJ4337: BJOI2015 (hash )

題意 題目連結 Sol 樹的同構問題,直接拿hash判一下,具體流程大概是這樣的: 首先轉化為有根樹,預處理出第\(i\)棵樹以\(j\)為根時的hash值。 那麼兩個樹同構當且僅當把兩棵樹的hash陣列排完序後完全一致(感性理解一下) /* */ #include<bits/stdc++

有根 (Hash)

crf 出生的第二秒 1 Description crf 是一個天才。 他出生的第二秒,往窗外望了一眼,看到了窗外的樹林。 他發現這片樹林非常有趣,因為它只有一排樹,從左到右依次排列。 天才的crf 馬上就把真實的樹的結構抽象成為了圖論中的樹(即任意兩

02-線性結構3 Reversing Linked List (25)

#include <iostream> #include <string> #include <unordered_map> #include <vector> #include <algorithm> usin

如何判斷兩顆二叉

#define MaxTree 10 #define ElementType char #define Tree int #define Null -1 struct TreeNode{ElementType Element; Tree Left;Tree Righ

練習5-3 數字金字塔(15

本題要求實現函式輸出n行數字金字塔。 函式介面定義: void pyramid( int n ); 其中n是使用者傳入的引數,為[1, 9]的正整數。要求函式按照如樣例所示的格式打印出n行數字金字塔。注 意每個數字後面跟一個空格。 裁判測試程式樣例: #incl

7-3 25

color pre 相同 存儲 有一個 content wid -s http 題目地址: https://pintia.cn/problem-sets/15/problems/711 解決方法:   要判斷樹是否是同構,判定存儲相同信息的節點的孩子(或父節點)是否一致即可

PAT 7-3 25

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 現給定兩棵樹,請你判斷它們是否是同構的。 輸入格式:

7-5 25

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 圖1 圖2 現給定兩棵樹,請你判斷它們是否

7-10 25

lib tps ring pan ges 輸出 ble ram 技術 給定兩棵樹T1和T2。如果T1可以通過若幹次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩