最小堆问题

#include <iostream>
#include<vector>
#include<string>
#include<stdio.h>
#include<cmath>
using namespace std; 
int main(){

    int t,m,n,father,son;
    bool key;
    int a[1000];
    cin>>t;
    while(t--){
        key=true; 
        cin>>m;
        for(int i=1;i<=m;i++){
            cin>>a[i];
        }
        for(int i=0;i<m-1;i++){
            cin>>father>>son;
            if(a[father]>a[son]){    //核心步骤 
                key=false;
            }
            } 
        if(key==true)
        printf("Yes");
        else
        printf("No");
    }
    return 0;
    }
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 18:06
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务