https://blog.csdn.net/wanglinyp/article/details/104967970?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.channel_param
https://blog.csdn.net/sinat_41144773/article/details/89530403
https://blog.csdn.net/wanglinyp/article/details/104967970?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.channel_param
//30
// 8
// 38 24 12 45 58 67 42 51
// 38 45 24 58 42 12 67 51
// NO
// 9
// 38 45 42 24 58 30 67 12 51
// 38 45 24 58 42 30 12 67 51
// YES
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
using namespace std;
struct node{
int data;
node* lchild;
node* rchild;
};
int n;
int in[110];
void insert(node* &root,int data){
if(root==NULL){
root=new node;
root->data=data;
root->lchild=root->rchild=NULL;
return;
}
if(data>root->data)insert(root->lchild,data);
else insert(root->rchild,data);
}
void bfs(node* root){
queue<node*> q;
q.push(root);
bool flag=true;
while(!<