PAT 1110
来源:互联网 发布:淘宝客线下推广海报 编辑:程序博客网 时间:2024/06/05 16:32
#include<cstdio>#include<iostream>#include<string>#include<vector>#include<algorithm>#include<string>#include<queue>using namespace std;const int maxn = 1000;struct Node{int lchild, rchild;}node[maxn];bool table[maxn] = {false};int test[maxn];int k = 0;void bfs(int root){queue<int> q;q.push(root);while (!q.empty()){int top = q.front();q.pop();test[k++] = top;if (k > 100) return;if (top != -1){q.push(node[top].lchild);q.push(node[top].rchild);}}}int main(){int n;cin >> n;fill(test,test+maxn,-1);string a, b;for (int i = 0;i < n;i++){cin >> a >> b;if (a.size()==1&&a[0] != '-'){node[i].lchild = a[0] - '0';table[a[0] - '0'] = true;}else if (a.size() == 1 && a[0] == '-')node[i].lchild = -1;else if (a.size() == 2){node[i].lchild = (a[0] - '0') * 10 + a[1] - '0';table[node[i].lchild] = true;}if (b.size()==1&&b[0] != '-'){node[i].rchild = b[0] - '0';table[b[0] - '0'] = true;}else if(b.size()==1&&b[0]=='-')node[i].rchild = -1;else if (b.size()==2){node[i].rchild = (b[0] - '0') * 10 + b[1] - '0';table[node[i].rchild] = true;}}int root;for (int i=0;i<n;i++){if (table[i] == false){root = i;break;}}bfs(root);for (int i=0;i<n;i++){if (test[i] == -1){cout << "NO "<<root;system("pause");return 0;}}cout << "YES " << test[n - 1];system("pause");return 0;}
0 0
- PAT 1110
- PAT 1110
- PAT 1110
- PAT甲级1110
- pat
- 【PAT】
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- PAT
- pat
- PAT
- PAT
- Python轻松入门-26 类和对象
- 用androidStudio签名打release包失败解决方案
- 单一职责原则 开闭原则
- java项目word文件转html文件
- 初入博客感言
- PAT 1110
- PHP面试题总结归纳(二)常会问到四道算法函数
- Android基础—.9 图片讲解
- 观察者模式(Observer Pattern)
- 城市平乱 【最短路】
- JAVA中一些术语的中英文对照
- 检查异常和不可查的异常
- 【HEOI2015】bzoj4031 小z的房间
- 韩游 MapleStory2冒险岛2 资源