F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Problem A

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1    Accepted Submission(s): 1


Problem Description
给定一棵带权二叉树,请判断它是不是一个最小堆。
一棵二叉树是一个最小堆,当且仅当对于树上任意一个节点,它的权值都小于或等于它的任意子节点的权值。
 

Input
输入的第一行是测试数据的组数T(T<=100)。

对于每组测试数据:

第一行是一个整数N(1<=N<=100),表示树的节点个数。
接下来一行包含N个正整数,第i个整数 valuei(1<=valuei <=1000) 表示编号为i的点的权值。
接下来(N-1)行,每行两个整数u和v(1<=u,v<=N; u<>v),表示节点u和v之间有一条边。
测试数据保证给定的一定是一棵二叉树,并且我们假定节点1是树的根节点。
 

Output
对于每组测试数据,如果给定的树是一个堆则输出Yes,否则输出No。
 

Sample Input
3 1 10 3 10 5 3 1 2 1 3 5 1 2 3 4 5 3 1 2 1 2 4 2 5
 

Sample Output
Yes No Yes
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2025 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2025-03-29 18:15:48, Gzip enabled