家谱树(gentree)
【题目描述】
有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。
给出每个人的孩子的信息。
输入一个序列,使得每个人的后辈都比那个人后列出。
【输入】
第一行一个整数(1<=N<=100),表示家族的人数。
接下来N行,第I行表示第I个人的儿子。
每行最后是0表示描述完毕。
【输出】
输出一个序列,使得每个人的后辈都比那个人后列出。
如果有多解输出任意一解。
【输入样例】
5
0
4 5 1 0
1 0
5 3
0
3 0
【输出样例】
2 4 5 3 1
思路
裸题拓补排序
1 program gentree; 2 var 3 ok,n,i,now,top,pin,apple,j:longint; 4 ru,chu:array[0..100] of longint; 5 vis:array[1..100] of boolean; 6 a:array[1..100,1..100] of longint; 7 8 procedure init; 9 begin 10 readln(n); 11 for i:= 1 to n do 12 begin 13 repeat 14 inc(chu[i]); 15 read(a[i,chu[i]]); 16 inc(ru[a[i,chu[i]]]); 17 until a[i,chu[i]]=0; 18 dec(chu[i]); 19 end; 20 end; 21 {22 procedure addstack; 23 begin 24 for i:= 1 to n do 25 if ru[i]=0 then 26 begin 27 inc(top); 28 stack[top]:=i; 29 end; 30 end; } 31 32 procedure db(apple:longint); 33 begin 34 35 for j:= 1 to chu[apple] do 36 dec(ru[a[apple,j]]); 37 38 end; 39 40 procedure topo; 41 begin 42 43 repeat 44 for i:= 1 to n do 45 if (ru[i]=0) and (not(vis[i])) then 46 begin 47 write(i,' '); 48 db(i); 49 inc(ok); 50 vis[i]:=true; 51 end; 52 until ok=n; 53 54 end; 55 56 begin 57 assign(input,'gentree.in'); 58 assign(output,'gentree.out'); 59 reset(input); 60 rewrite(output); 61 62 init; 63 topo; 64 65 close(input); 66 close(output); 67 end.
转载于:https://www.cnblogs.com/bobble/p/6411128.html
家谱树(gentree)相关推荐
- php递归面包屑,php可应用于面包屑导航的递归寻找家谱树实现方法
本文实例讲述了php可应用于面包屑导航的递归寻找家谱树实现方法.分享给大家供大家参考.具体实现方法如下:<?phpecho " ";$area = array(array(& ...
- Php数组面包屑导航,php可应用于面包屑导航的迭代寻找家谱树实现方法
php是通过定义类来实现迭代器接口来构造迭代器,通过yield构造迭代器可以提高性能并节省系统开销,下面就跟着爱站技术频道小编的步伐来学习php可应用于面包屑导航的迭代寻找家谱树实现方法吧. 具体实现 ...
- java家谱树_青锋家谱系统-基于springboot+orgtree的青锋家谱树管理系统
gen 青锋家谱系统:基于springboot架构的家谱项目系统 项目介绍 基于springboot.orgtree的家谱树管理系统,将纸质版的家谱进行电子化.信息化,建立家族的家谱血脉联系. [青锋 ...
- 家谱树 (并查集拓扑排序)
目录 拓扑排序 Kahn. 最后附上Kahn的代码: 链式前向星做法: 其次是我用Kahn做的家谱树的代码(矩阵): 其次是我用Kahn做的家谱树的代码(链式前向星): [题目描述] 有个人的家族很大 ...
- php子孙树,递归 迭代 得到家谱树 子孙树
$arr=array( array('id'=>'1','name'=>'吉林','parent'=>0), array('id'=>'2','name'=>'北京',' ...
- PHP之实现 家谱树,子孙树
// 家谱树 function familytree2($arr,$id) { static $Tree = array(); foreach($arr as $k=>$v) { if($v-& ...
- 无限极分类JAVA 实现—查子孙树、家谱树
无限极分类JAVA 实现-查子孙树.家谱树 效果展示: import java.util.*;public class Test {List<HashMap<String, Object ...
- AcWing 1191. 家谱树 题解(拓扑排序)
AcWing 1191. 家谱树 拓扑排序:建立一个队列,遍历所有点,将度数为1的点全部加入队列中,之后队内元素依次出队,对出队的点遍历所有临边,将这些临点的入度–,如果临点的入度为0,则加入队列中, ...
- 无限极分类php实现—查子孙树、家谱树
<?php// 无限级分类中,查家谱树 $area = array( 0=>array('cat_id'=>1,'cat_name'=>'北京市','parent_id'=&g ...
最新文章
- Actionscript3.0动画编程中的几种特效举例
- 【成长之路】【python】python基础5-模块
- informatica数据脱敏_助您首个大数据项目破茧成蝶的实践指南
- 论PS的功力,英伟达的AI这次谁也不服
- 鼠标点计算机再点网络也是选定,鼠标左键单击变双击,点一下变两下是什么原因?...
- android实现高德地图实时导航,高德地图之实时导航
- xp系统无法访问计算机,xp系统Workgroup无法访问怎么解决
- 冬天 计算机无法启动不了怎么办,每次到冬天电脑就开不了
- HDU - 5510 Bazinga
- python 自动生成问卷表的软件的设计与实现 毕业设计源码291138
- AMC数学考试能用计算机吗,重大调整!今年美国数学竞赛AMC考试时间有变化!
- manjaro 安装的艰辛历程,常用软件安装以及踩坑
- C#中转义字符\r, \n, \r\n, \t, \b, @作用
- 东南大学计算机专硕录取分数线,东南大学研究生录取分数线
- 2021年上半年软件设计师下午真题试题(案例分析)及答案
- 基本数据类型和引用类型
- 学了编程却写出错误代码?程序运行结果与想象不符?当bug出现时该何去何从,别担心,这篇文章统统告诉你!手把手带你调试代码,让bug原形毕露!
- SQL唯一键unique
- 学校人力资源管理系统——需求分析(一)
- MSCI 公布2019年度市场分类评审结果
热门文章
- 例1.1-2 Strongbox
- 编写Java程序,使用ThreadLocal类,项目中创建账户类 Account,类中包括账户名称name、 ThreadLocal 类的引用变量amount,表示存款
- 华为服务器H22H-03的Windows Server2012安装
- 2021中国 IoT 物联网平台研究报告 |艾瑞咨询
- 谷粒商城项目工具准备
- 为什么要使用copy_from_user
- DeepMind《星际争霸2》AI碾压人类遭Gary Marcus猛怼:通用智能就是空谈
- VmWare虚拟机断电报错各种修复方案
- kafka扩容数据自动重分配脚本
- 一款免杀远控,马子体积小