PAT 1115
来源:互联网 发布:翻墙原理 知乎 编辑:程序博客网 时间:2024/06/09 16:44
#include<cstdio>#include<algorithm>#include<vector>#include<iostream>#include<queue>using namespace std;const int maxn = 1010;int in[maxn];struct Node{Node* lchild;Node* rchild;int data;int depth;};void insert(Node* &root,int a){if (root == NULL){root = new Node;root->lchild = root->rchild = NULL;root->data = a;return;}if (a <= root->data)insert(root->lchild, a);elseinsert(root->rchild, a);}int dep[maxn] = {0};void bfs(Node* root){if (root == NULL) return;queue<Node*> q;q.push(root);root->depth = 0;while (!q.empty()){Node* top = q.front();q.pop();dep[top->depth]++;if (top->lchild!=NULL){q.push(top->lchild);top->lchild->depth = top->depth+1;}if (top->rchild != NULL){q.push(top->rchild);top->rchild->depth = top->depth+1;}}}int main(){int n;cin >> n;Node* root = NULL;for (int i=0;i<n;i++){cin >> in[i];insert(root,in[i]);}bfs(root);int i;for (i=0;i<n;i++){if (dep[i] == 0)break;}i--;if (i >= 1){cout << dep[i] << " + " << dep[i - 1] << " = " << dep[i] + dep[i - 1] << endl;}elsecout << dep[i] << " + " << '0' << " = " << dep[i] << endl;system("pause");return 0;}
0 0
- PAT 1115
- 浙大PAT甲级 1115
- PAT甲级1115
- pat
- 【PAT】
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- pat
- PAT
- PAT
- PAT
- 网络爬虫之简单例子
- Android高级控件之ListView
- JAVA中的关键字static,final和const
- C++之内置函数、函数模板、变量的存储类别、类、析构函数、指针
- mybatis入门
- PAT 1115
- 关于自己
- 封装函数
- python__slots__ /@property/多重继承/枚举类/元类
- Linux 内核clk ops
- 大型网站架构之分布式消息队列
- centos升级python2.6 ->2.7.13 yum失效
- PostgreSQL相关语法收集,持续更新
- C/C++ 知识累积。