堆问题,判断一个堆是最大堆还是最小堆,并右到左输出从根结点到叶子结点的所有路径。
坑点如下
1,用DFS来求路径。用push和pop来维护路径。
2,以此遍历所有结点,从而判断一个堆是最大堆还是最小堆。
整体代码如下
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<vector>
using namespace std;
vector<int>p,t1,t2;
int n;
int ismin,ismax;
int tree[1020];
bool cmp(int a,int b){
return a>b