PAT 1004. Counting Leaves (30)
来源:互联网 发布:微商和淘宝哪个东西贵 编辑:程序博客网 时间:2024/05/18 01:11
层次遍历之
#include<iostream>#include<vector>#include<queue> #include<fstream>using namespace std;struct node{//节点类 int id; vector<int> childs; };vector<node>nodes;//节点链表 vector<int>rs;//每层的无孩子节点的节点个数 int main(){ fstream cin("data.txt"); int n=0,m=0; cin>>n>>m; for(int i=0;i<n;++i){ node n; n.id=i; nodes.push_back(n); } for(int i=0;i<m;++i){ int id=0,k=0; cin>>id>>k; node nd; nd.id=id-1; vector<int>childs; int leaf_id; for(int j=0;j<k;++j){ cin>>leaf_id; childs.push_back(leaf_id-1); } nd.childs=childs; nodes[id-1]=nd; }//数据输入结束 int num_nodes_level=1;//当前节点个数 int num_no_child=0; int count_nodes_level=0;//下一层节点个数 queue<size_t>q; q.push(0); for(int i=0;i<num_nodes_level;){ size_t t_node=q.front(); q.pop(); size_t clen=(nodes[t_node]).childs.size(); if(clen==0){ num_no_child++; }else{ count_nodes_level+=clen; for(int j=0;j<clen;++j){ node t=nodes[t_node]; size_t id=t.childs.at(j); q.push(id); } } if(i+1==num_nodes_level){ i=0; rs.push_back(num_no_child); num_no_child=0; num_nodes_level=count_nodes_level; count_nodes_level=0; if(num_nodes_level==0)break; }else{ ++i; } } for(size_t i=0;i<rs.size();++i){ if(i+1==rs.size()) cout<<rs[i]; else cout<<rs[i]<<" "; } cout<<"\n"; system("pause"); return 0;}
0 0
- 1004. Counting Leaves (30)-PAT
- pat 1004. Counting Leaves (30)
- 【PAT】1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- pat 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT:1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- [PAT]1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT:1004. Counting Leaves (30)
- PAT:1004. Counting Leaves (30)
- 【PAT】1004. Counting Leaves (30)
- pat 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- dgyu igghv5
- ADC 相关
- Spring 零碎整理 以后自己用的到
- MySQL查询优化-explain
- vdsm(1)安装
- PAT 1004. Counting Leaves (30)
- 学习笔记 Java_毕向东_语言基础_程序流程控制 2014.7.29
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第四步--地图循环&主角添加动作
- 减税:牛市的真正号角与中国经济逃生之门
- POJ 1258-Agri-Net(最小生成树prim)
- word list 16 to 18
- 判断当前页面是否为post页面
- 状况进行和高科技啊说得好高科技啊萨丹哈果壳就阿红
- 浅谈枚举