求问计蒜客难题挑战第29题:奇异家庭的题意

栏目:资讯发布:2023-10-28浏览:3收藏

求问计蒜客难题挑战第29题:奇异家庭的题意,第1张

问题: 求问计蒜客难题挑战第29题:奇异家庭的题意

回答:这个题目很销魂。真正有意义的题干就一句话:有一种奇怪的大家族,这种家族里的人要么没有孩子,要么就有两个孩子。已知某个这种家族共有N个人,家族中共有K代人。

估计题目的作者在这里想定义了一种二叉树(节点要么没有孩子,要么有两个孩子)。想必作者对族谱结构并不熟悉,族谱上是存在双亲的,不可能是二叉树。

这个先不说,看作者是怎么定义族谱结构的,我只能按照两个样例去猜:

为什么会有特殊情形呢?这是我用了好几组数据求结果,为了寻求解释的一致性得出的结论。

题目本身对N个人的解释是存在矛盾之处的:

在族谱的垂直层次上,N个人是不分长辈晚辈的,交换两个节点族谱不变

在族谱的水平层次上,对称时,叶子结点是不分兄弟的;不对称时,又是区分的。

元芳,你怎么看?

众所周知,蜀汉的开创者刘备又称刘皇叔,原本是汉朝的皇族。

《三国志·蜀书》上说,蜀汉皇室来源于中山刘氏,是西汉景帝刘启第八个儿子中山靖王刘胜的后裔。

中山靖王刘胜的儿子多达120个,其中第五个儿子刘贞封陆城亭侯,由中山国(今河北省定县)来到陆城侯国(在今河北省涿县),后裔形成中山刘氏的分支--涿县刘氏。时间大约是公元前127年。

公元前112年,汉武帝实行削藩政策,以"酎金事件"为借口,废除大批同姓诸侯。涿县刘氏开派祖刘贞,也在这次削藩运动中被削去陆城亭侯的爵位,降为普通平民。

刘贞以后,涿县刘氏的情况,正史没有记载,刘氏族谱则大都有对这一段空白的补充。不过,族谱中所记的有关世系和史实,又有很多互相矛盾和错误牵强的地方。这里,我们不妨根据各地刘氏族谱来作一大体的勾勒和订证。

关于中山刘氏涿县分支始祖刘贞的出身,典籍记载已经非常明确清楚,无容置疑。因此,广东梅县刘氏谱说刘贞是刘胜的孙子和他迁自彭城郡,都是错误的。同样,湖南桂阳刘氏族谱、新化刘氏谱、刘氏滔公支谱和广西刘氏谱都说刘贞是刘向的儿子,刘向是刘胜的儿子,这也均与历史事实不符。

在今人刘少卿所编《刘氏新族谱》中,刘备是中山王刘胜的第17代孙,从刘胜到刘备的传递世系是:

刘胜(中山靖王)→刘贞(陆城亭侯)→刘昂→刘禄(漳侯)→刘恋(沂水侯)→刘英(钦阳侯)→刘建(安国侯)→刘哀华(广陵侯)→刘宪(缪水侯)→刘舒(祈邑侯)→刘谊(祈阳侯)→刘必(原泽侯)→刘不疑(丰灵侯)→刘惠(济川侯)→刘雄→刘弘→刘备。

这是一种最常见、最流行的中山刘氏上古世系。

全国各地中山刘氏族谱所载也大体与此相近,如湖南桂阳刘氏谱、四川荣昌刘氏谱所载就完全相同。而湖南怀化刘氏(政公房)族谱和刘氏(吉蕴公房)族谱等则将刘贞误作刘向。笔者认为,这纯粹是字形笔画之误,因为"贞""向"二字字形相近。湖南刘氏(烟溪滔公房)族谱、板桥刘氏谱、新化刘氏族谱和湖南宁乡刘氏(吉祥公房)谱的编纂者大概对此并不理解,所以他们在刘向之后,又再增加刘贞一代。殊不知刘向即刘贞之误,此举实属画蛇添足。

另外,湖南平江刘氏谱和台湾谱从刘胜到刘舒与之相同,刘舒以后的世系是这样排列的:

刘舒→刘兴发→刘盛→刘必→刘达→刘才源→刘惠。

这个世系比前一世系多了2代,即在刘舒与刘必之间多了一代,在刘必与刘不疑之间又多出刘达一代。

江西泰和刘氏宗谱的世系是:

刘胜→刘贞→刘轩(刘昂)→刘禄→刘恋→刘英→刘巡(刘建)→刘辰华(刘哀华)→刘平(刘宪)→刘化(刘舒)→刘谊→刘用(刘必)→刘达→刘不疑→刘惠→刘雄→刘弘→刘备。

湖北汉川古柏堂《刘氏族谱》则记载从刘胜到刘备为12代,世系是:

刘胜→刘贞→刘恋禄→刘英建→刘哀→刘舒→刘必→刘不疑→刘济惠→刘雄→刘弘→刘备。

江西《中华刘氏通谱》所载从刘胜到刘备也是12代,世系是:

刘胜→刘贞→刘昂→刘禄→刘恋→刘宪→刘宜→刘必→刘惠→刘雄→刘弘→刘备。

尽管刘姓族谱的编纂者们为了填补从刘胜到刘备世系的空白而绞尽脑汁,然而,笔者仍不得不遗憾地告诉广大的刘姓族人:这些流传了很久的世系,绝大部分是虚构的、错误的。

为什么这样说呢?

笔者认为,这些族谱的编纂者们的世系与历史不符合。因为正史上虽然没有开列刘备历代祖先的名字,但却间接地指出了从刘胜到刘备的传递代数。

刘备又称刘皇叔。这"刘皇叔"的称呼,是一个极为重要的信息,它可不是随便乱叫的,而是严格按辈份来叫的,即刘备按辈份应为汉献帝的叔父辈。汉献帝刘协出自长沙王刘发一支,从刘发到刘协共有13代。中山王刘胜与长沙王刘发是兄弟,刘备既然是汉献帝的皇叔,则从刘胜到刘备应该是12代。

江苏、江西、湖南、广西、广东、四川、香港、台湾、南洋等地所流传的刘备祖先的世系,最少的也比实际上的传递世系多出了5代,因此都是错误的或虚构的。这些世系的编造者们都忽略了刘备又称刘皇叔这一重要信息,在正史中找不到刘胜到刘备代数的明确记载,就以为可以胡编乱造而没人知道。

在这些世系中,只有湖北汉川古柏堂《刘氏族谱》和江西《中华刘氏通谱》上记载刘胜到刘备为12代,与历史实际相符合。但这两个世系,很明显是在上述世系的基础上再加工而成的,即将香港谱中的祖先删去几代,再将一些父子二人的名字合成一人名字,因此,这两个世系也不可信,最多也只能是聊备参考而已。

为什么全国各地刘姓族谱关于中山刘氏自刘胜到刘备世系的记载,都会错成一样呢?原来,这里隐藏着一个极大的秘密——这个世系来自《三国演义》!

《三国演义》第20回《曹阿瞒许田打围,董国舅内阁受诏》写道:"献帝设朝,操表奏言玄德军功,引之见帝。……帝教取宗族世谱检看,令宗正卿宣读曰:'景帝生十四子,第七子乃中山靖王刘胜。胜生陆城亭侯刘贞,贞生沛侯刘昂,昂生漳侯刘禄,刘禄生沂水侯刘恋,恋生钦阳侯刘英,英生安国侯刘建,建生广陵侯刘哀,哀生胶水侯刘宪,宪生祖邑侯刘舒,舒生祁阳侯刘谊,谊生原泽侯刘必,必生颍川侯刘达,达生丰灵侯刘不疑,不疑生济川侯刘惠,惠生东郡范令刘雄,雄生刘弘,弘不仕,备乃刘弘子也。'帝排世谱,则玄德乃帝之叔也。"

各种中山刘氏世系比较

三国演义 江西中华刘氏通谱 湖北汉川古柏堂谱 香港刘氏新族谱 湖南平江刘氏谱

刘胜 刘胜 刘胜 刘胜 刘胜

刘贞 刘贞 刘贞 刘贞 刘贞

刘昂 刘昂 A 刘昂 刘昂

刘禄 刘禄 刘恋禄 刘禄 刘禄

刘恋 刘恋 A 刘恋 刘恋

刘英 A 刘英建 刘英 刘英

刘建 A A 刘建 刘建

刘哀 A 刘哀 刘哀华 刘哀华

刘宪 刘宪 A 刘宪 刘宪

刘舒 A 刘舒 刘舒 刘舒

刘谊 刘谊 A 刘谊 刘兴发

A A A A 刘盛

刘必 刘必 刘必 刘必 刘必

刘达 A A A 刘达

刘不疑 A 刘不疑 刘不疑 刘才源

刘惠 刘惠 刘济惠 刘惠 刘惠

刘雄 刘雄 刘雄 刘雄 刘雄

刘弘 刘弘 刘弘 刘弘 刘弘

刘备 刘备 刘备 刘备 刘备

《三国演义》作为中国古代四大名著之一,早已在中国家入户晓,正是借着这一名著的传播,中山刘氏的世系则得已如此广泛地在全国刘姓中流传。可见,后世大多数中山刘氏世系,可能都取自《三国演义》。

不过,笔者认为,《三国演义》中的这一段有关中山刘氏的世系记载,应该不是作者罗贯中个人的凭空杜撰,而是必有所本。至于罗贯中所记载的这一世系源自哪里,则现在已不得而知。笔者分析,这有两种可能:一是宋元时期传世的历史文献资料;另一种则是罗贯中周围某个刘姓家族的族谱。而且,这后面一种可能性还要大。如果此说成立,那么今日所流传的这份虚构的中山刘氏上古世系,早在宋元时期就已经在刘氏家族中流行了。因此可以说,是《三国演义》抄了刘姓族谱中的世系,而《三国演义》中的这份世系,又为后世很多刘姓族谱所抄。

如今,要重新填补刘备祖先世系的这一空白断层,还需要等更多的原始材料的发现。

我们只知道,刘贞之后,刘备的最早的有史可考的祖先是他的祖父的刘雄。刘雄在东汉后期被举为孝廉,后官任东郡范县(今山东省梁山县西北)县令,安帝时还曾任东郡平原县(今山东平原县)县令。

刘雄生二子:刘弘、刘子敬(有族谱作刘珖)。刘弘的儿子,就是一代英雄刘备。

齐氏家谱字辈:齐步樵氏、齐穆克氏、齐布齐努特氏、齐理克氏多冠汉姓为齐氏。而墨尔秦氏后有满族引为姓氏者,蒙古族、满族墨尔秦氏,在清朝中叶以后多冠汉姓为齐氏、秦氏、莫氏等。据史籍《清朝通志·氏族略·蒙古八旗姓》记载:

蒙古族齐步樵氏,世居察哈尔(今河北张家口一带,包括河北、内蒙乌兰察布盟、锡林郭勒盟一部、山西部分地区)。后有满族引为姓氏者。清朝中叶以后,后多冠汉姓为齐氏。

迁徙传播

清乾隆以后,河北、河南、山东之齐姓闯关东者甚众。如今,齐姓在全国分布较广,尤以东北三省和河北、河南为多,上述五省之齐姓约占全国汉族齐姓人口的百分之六十二。齐姓是当今中国姓氏排行第一百二十三位的姓氏,人口较多,约占全国汉族人口的百分之零点一。

-齐姓

这里的“房”是指家族中的房分,即家族中的一支。一般是按兄弟来分的,如老大叫“长房”,老二叫“二房”,老三叫“三房”……。

你们族谱上写着“三房”,说明你先祖那辈的几兄弟中,你是“老三”的后裔。

转自911chacom兰姓是当今中国姓氏排行第一百零三位的姓氏,人口较多,约占全国汉族人口的百分之零点一七。 兰[兰、阑、栏、斓,读音作lán(ㄌㄢˊ)] 一姓氏渊源: 第一个渊源:源于姬姓,出自春秋时期郑国公族之后,属于以为氏。 据史籍《通志·氏族略》记载,春秋时期郑国君主为郑穆公姬兰,姬兰是周厉王之子姬友(郑桓公)的裔孙,其支庶子孙中,有以王父名为姓氏者,称兰氏。 第二个渊源:源于芈姓,出自楚庄王之幼子兰,属于以先祖名字为氏。 春秋时期,楚庄王芈旅(熊侣)封他的小儿子芈兰(熊兰)为上官邑(今河南滑县)的大夫,芈兰的后代子孙中,有以邑名为姓氏者,称上官氏;亦有以先祖名字为姓氏者,称兰氏。 第三个渊源:源于芈姓,出自春秋时期楚国大夫的封地,属于以封邑名称为氏。 春秋时期,楚国有大夫食采于兰邑(今山东枣庄东二十五公里),其后裔子孙中有以邑名为姓氏者,称兰氏。 第四个渊源:源于匈奴族,出自古匈奴族休屠部乌洛兰氏、拔列兰氏族,属于以氏族名称汉化改姓为氏。 匈奴族休屠部的凉州乌洛兰氏、拔列兰氏,在南北朝时,归附于北魏政权。北魏孝文帝拓拔宏迁都洛阳后,推行汉化政策,乌洛兰氏、拔列兰氏两氏族被改汉姓为兰氏、石氏。 第五个渊源:源于鲜卑族,出自鲜卑族拓拔部,属于以氏族名称汉化改姓为氏。 南北朝时期,北魏孝文帝拓拔宏迁都洛阳后,推行汉化政策后: ①鲜卑族拓拔部中的是兰氏,亦称是连氏,后多改为改兰氏、连氏。 ②拓拔部嗢石兰氏,亦称乌石兰氏,后多改为兰氏、石氏。 ③拓拔部乌洛兰氏,后改为兰氏。 ④拓拔部仆兰氏,亦称普兰氏、蒲兰氏,后多改为仆氏、普氏、蒲氏,亦有改为兰氏者。 第六个渊源:源于鲜卑族,出自鲜卑族独孤部,属于以氏族名称汉化改姓为氏。 南北朝初期,鲜卑族独孤部为北魏初期核心的八大家族之一,亦是构成北魏王朝的三十六部之一,除了部分族人仍为独孤氏外,在北魏孝文帝太和元年以前即有改为汉字单姓者,为兰氏、卜氏。 第七个渊源:源于羌族,出自古羌族白兰氏部落,属于以部族称谓汉化改姓为氏。 古羌族白兰氏,是在历史上开发青海的少数民族姓氏之一。后在南北朝时期大举迁徙于中国西南地区,在云南、贵州地区为古兰若人,其族后逐渐演进为彝族,其中即有以原部落称谓为汉姓兰氏者;在广西地区的族人逐渐演化为壮族,其中亦有以原部落称谓为汉姓兰氏者。 第八个渊源:源于女真族,出自金国女真族后裔,属于汉化改姓为氏。 据史籍《清朝通志·氏族略·满洲八旗姓》记载: ①满族额哲氏,满语为Eje Hala,汉义为“骟牛”,世居兰河山,后有以居地名称取谐音汉姓为兰氏、哲氏者。 ②满族辉罗氏,源于金国时期古女真族姓氏“会兰氏”,以姓为氏,满语为Huilo Hala,是满族最古老的姓氏之一,世居乌拉(今吉林吉林)、松花江沿岸,后冠汉姓为兰氏、辉氏、何氏等。 据史籍《清朝通志·氏族略·附载满洲八旗姓》记载,满族拉库勒氏,亦称喇库勒氏、兰库拉氏,满语为Lakule Hala,世居木楞扎喇(今黑龙江牡丹江穆棱林区),后冠汉姓为兰氏、郎氏。 第九个渊源:源于蒙古族,属于汉化改姓为氏。 据史籍《清朝通志·氏族略·蒙古八旗姓》记载: ①蒙古族扎赖氏,亦称札答兰氏、札只剌氏、茶赤剌氏,是成吉思汗的劲敌札木合的后裔,世居锡喇塔拉。满族亦有引为姓氏者,满语为Jalai Hala。其族人中后有冠汉姓为兰氏者。 ②蒙古族乌兰氏,汉义为“红色”,世居呼伦贝尔、黑龙江。满族亦有引为姓氏者,满语为Ulan Hala。其族人中后有冠汉姓为兰氏、洪氏者。 第十个渊源:源于达斡尔族,出自金国女真族后裔,属于汉化改姓为氏。 据史籍《清朝通志·氏族略·满洲八旗姓》记载,达斡尔族必喇氏,亦称别兰氏、毕力扬氏,源于金国时期古女真族姓氏“必兰氏”,世居和悠、长白山、黑龙江、乌苏里江口等地区。满族亦有引为姓氏者,满语为Bira Hala,汉义“河川”。后冠多汉姓为兰氏、杨氏等。 据史籍《黑龙江志稿·人物志》记载,达斡尔族瓦兰氏,亦称瓦然氏,为托莫氏的一个分支。满族亦有引为姓氏者,满语为Walan Hala,汉义为“巧妙”。后冠多汉姓为兰氏、乔氏等。 第十一个渊源:源于回族,出自元朝官员谙都刺家族,属于汉化改姓为氏。 据文献《回族人物志·元》中记载,回族中的兰氏,源自元朝官员谙都刺家族。 谙都刺,字瑞芝,生于元至元十三年(公元1276年)。祖父阿思兰,元朝初七随从大将军阿术征伐南宋,转战于河南江北各地,因功官至冀宁路(今山西太原)达鲁花赤(县令)。子孙因其名兰,遂以兰为氏。 回族姓氏中虽有音同字不同的“同源异姓”现象,但回族兰氏与蓝氏却不同源,不可混同! 二得姓始祖 姬兰。即郑穆公。公元前八零六年,周宣王把同父异母少弟姬友封于郑(今陕西华县东),称郑桓公,为西周最后分封的一个诸侯国。下传至公元前六二七年,郑穆公即位。传说穆公之母生穆公时,梦见天使手执一株兰草,异常恭敬的赠予她,其时幽香扑鼻,醒来似乎余味无穷,不久产下一子,遂将其子取名为兰。姬兰在位二十二年,死后谥号为穆,史称郑穆公。其支庶有的以王父之名为氏,称兰姓。他们尊姬兰为其得姓始祖。 三迁徙分布: 兰氏人口总数在今中国姓氏排行第一百零三位,在宋版《百家姓》中排行第二百六十六位。 郑穆公时,郑国已迁都于新郑(今河南新郑)。 公元前375年郑国为韩国所灭。兰氏子孙纷纷外迁,大多西迁陈(都城今河南淮阳)、宋(都城在今河南商丘)间地。此后至秦汉,兰氏基本上在中原一带繁衍发展。 两汉时期,见诸史册之兰氏仅有武陵太守兰广和兰夫人,且只有只言片语,让人难知其详。魏晋南北朝时,先秦有将军兰殊,南朝有兰子云,中昌魏(今河北大名)人兰钦、兰夏礼父子。可见此际已有兰氏因仕宦之故徙居江南。 唐朝时期有涪州人(今重庆涪陵区)兰冲虚。证明在重庆、江苏等南方亦有了兰氏人活动的身影。兰氏曾长期称盛于今河北定州,山东莒县、河南平舆一带。 宋、元之际,兰氏因仕宦,躲避兵火、瘟灾等原因始大举播迁江南各地,广泛分布于今江苏、安徽、浙江、江西、湖南、湖北、福建等地。 元朝末期,山西因处于表里山河的特殊地理位置。对当时中原、江东一带饱受战火的老百姓而言,简直就是人间天堂,世外桃源,故山西兰氏繁衍得较为兴盛。 明朝初期,山西兰氏作为明朝洪洞大槐树迁民姓氏之一,被分迁于江苏、安徽、浙江、河南、湖北等地。明末张献忠屠川,使川地百姓人口锐减。 清朝暑期,伴随湖广填四川的运动,两湖之兰氏入迁四川。明、清两代,始有沿海之兰氏飘洋过海,或迁居台湾,或迁居东南亚各地。 如今,兰氏在全国分布较广,尤以湖南、福建、江西三省多此姓,上述三省兰氏人口总数约占全国兰氏人口的57%,而今在青海省就有兰氏村九个:互助县有兰家寨、兰家沟、三个兰家村,大通县有兰冲、上、下兰冲村,湟源县有兰占巴村。 四郡望堂号 兰姓在长期的繁衍播迁过程中,形成如下郡望:1、中山郡,汉代时所置,治所在卢奴(今河北定州);2、汝南郡,汉代时所置,治所在平舆(今河南平舆北);3、东莞郡,汉为城阳郡,晋改称东莞,治所在莒(今山东莒县),后又改为东安。 堂号: “中山”、“平水”、“东莞”等。

对于一般的家谱树(一般的多叉树)来说,我们可以很清楚的看出层次关系,树的层数表示代数(一共多少代人),树的最后一层表示最后一代人,由于多叉链表法表示的不方便,因此被迫无奈采用孩子兄弟表示法(二叉链表法)

假设我的家谱是这样的:

           

转换成孩子兄弟表示法后是这样的:

           

      我们要做的是:这时我们要找有多少代人,以及最后以一代人出来。

     如果根据第一个图来说找代数就是树的高度,最后一代人就是树的最后一层,二叉链表法中却不如第一个图来的直观,但是只要把握二叉链表法的本质还是很清晰的,根据孩子兄弟表示法的特性,(看二叉链表法的图)结点3的左子树保存的是其孩子,结点3的右子树保存的是其堂兄弟(对照第一个图来看)。假设我们每一个节点都有一个变量用来存储它是第几代的,那么从结点1开始,我们要找结点10是第几代的话,应该这么做:结点1是第一代,然后经过结点5是第二袋,然后看到结点10是第三代。因为第i个结点的左子树是他的孩子,既然是孩子,代数必须+1,而右子树是和第i结点同辈份的(堂兄弟),因此不能加1。本质来说就是往左走代数+1,向右走代数不变。这就是这题目的思路,通过这个方法你就可以知道有多少代人了,且每个节点都有保存了代数信息(用变量存起来了),再次遍历树把最后一代的结点输出即可。清晰了吗?清晰了我就开始写程序。

皇族名字是按“高瞻祁见佑,厚载翊常由;慈和怡伯仲,简靖迪先猷”排下来的,宗室后代就不同了,每一支有每一支的字。

朱元璋采用了传统的辈份命名法,预先给太子和分封的诸王各支派都选取了二十个有美好含义的字做为辈份用字,一辈用一字,做为子孙名字两字的前一字。

后来成为帝系的燕王一派,所取的二十字是:“高瞻祁见佑,厚载翊常由;慈和怡伯仲,简靖迪先猷”。但是到明朝末年,天启帝朱由校和崇祯帝朱由检相继即位,只传到了第十个字“由”。晋王一支的二十字则是:“济美锺奇表,知新慎敏求;审心咸景慕,述学继前修”。

宗室名字两字的后一字也有讲究。朱元璋的儿子是单名,名字中都带木字旁。为了避免宗室因庞大出现重名,朱元璋便同时规定,后一字必须带有五行偏旁,按火、土、金、水、木的顺序不断循环。按中国古代的五行理论,火生土,土生金,金生水,水生木,木又生火,和这个顺序是相符的。仍以明朝帝系为例,仁宗朱高炽是朱棣之子,“炽”字有火字旁;宣宗朱瞻基是朱高炽之子,火生土,“基”字便有土字旁。明朝各王府的宗室,也都和帝系一样,是按这个规则命名的。

求问计蒜客难题挑战第29题:奇异家庭的题意

问题: 求问计蒜客难题挑战第29题:奇异家庭的题意回答:这个题目很销魂。真正有意义的题干就一句话:有一种奇怪的大家族,这种家族里的人...
点击下载
热门文章
    确认删除?
    回到顶部