考虑这样一个事例吧:-> 表示推荐L0 -> L1A, L1B, L1CL1A, L1B, L1C 都没有推荐其他人了然后
L0 -> L1DL1D -> L2A, L2B, L2C
L2A, L2B, L2C又分别推荐了3个人
L2A -> L3A, L3B, L3C
L2B -> ...
L2B -> ...试问LZ,这时L0是级数如何计算?

解决方案 »

  1.   

    如果19楼L1A, L1B, L1C, L1D的顺序改变又将怎样呢?
      

  2.   

    按楼主的意思,L0只能升一级(因为推荐了3个人)?但是L0还推荐了L1D,而L1D又推荐了3个人,而且这三人又分别推荐了3人......我的问题是,级别和推荐的顺序是否有关?如果L0先推荐L1D,然后再推荐其他3人,那L0至少能升三级 ...望赐教 ^_^
      

  3.   

    请问楼主 E是B推荐的么? F,G是C推荐的么?
      

  4.   

    晕,这样 还看不明白?可能是E可能是B直接推荐的 ,也可能是A直接推荐往下排的,再说又必要弄清楚这个吗?规律你都还不弄明白!
    图+文字说明都看不明白 ,晕,过2天就 忙工作,无法来看帖了,希望你们认真看图和说明,用脑去想下吧,不想解释这么多次啊,重复解释很没意思的
      

  5.   

    LZ也用脑去想下吧,没有关系么?假设在某个时刻,推荐图恰好如你给出的那样,按照你的理论,根节点为2级 ...如果根节点推荐的1,5,9这三个节点都至少推荐了3个人,如你所说 "如果他推荐的3个人也都分别推荐了3个人,那么他又再升1级"
    那么他的级别应该至少是3级了.换句话说,根节点先推荐A,B,C还是先推荐1,5,9是有区别的.this's my point.
      

  6.   

    这个不是在asp板块贴过吗 ?不管了先接分我的答案我 我儿子 我孙子 我纯孙子 
    首先确认 1.我 大纯孙子的a线 就是 我大孙子的a线  也是我大儿子的a线 就是我的a线 
    2.推荐了三个人以后,每一个人要做一个标记,告诉程序这是在添加第几个人 坐标表示(m,n) 
    我的坐标(m,n),m代表我在第几层,n代表我是这层的第几个 
    比我小的两个兄弟坐标(m,n+1),(m,n+2) 
    我大儿子的坐标 (m+1,((n-1)×3)+1) 
    我二儿子的坐标 (m+1,((n-1)×3)+2) 
    我三儿子的坐标 (m+1,((n-1)×3)+3) 
    类似可以推算出我孙子 纯孙子的坐标 我想要个孩子(我要推荐别人) 
    if 我的儿子数 <3 Then(子节点数不够,我刚刚开始推荐三个人) 
        我看我有几个儿子(只有三种情况,一个都没有,一个儿子,两个儿子) 
        Select Case 我有几个儿子 
            Case 0 
              添丁大儿子(生第一个儿子,我的节点下面一个都没有,我现在想加一个,肯定是我的子节点的第一个) 
            Case 1 
              添丁(第二个儿子) 
            Case 2 
              添丁(第三个儿子)  
        End Select 
        我要升1/3级,我爸爸升1/9级,我爷爷升1/27级....(只要是添加了我的儿子我和我的父辈一定升级) 
    Else 
    (我的子节点满了,在要生孩子就靠我的儿孙了,我推荐了三个人之后再推荐其它人,我的生育指标已经满了,我不能在生了)       If 我要的是我的第一类儿子(表示我推荐的三个以外4个人一组的第1个人) Then 
              给我的大儿子的大儿子的大儿子(直到最小辈)添加一个大儿子(实际上添加我的a线) 
              新添加的这个子孙的爸爸升级1/3,他爸爸的爸爸升级1/9,他爸爸的爸爸的爸爸升级1/27.... 
          Else 
                  If 我要的是我的第二类儿子(表示我推荐的三个以外4个人一组的第2个人) Then 
                    给我的二儿子的大儿子的大儿子(直到最小辈)添加一个大儿子(实际上添加我的b线) 
                    新添加的这个子孙的爸爸升级1/3,他爸爸的爸爸升级1/9,他爸爸的爸爸的爸爸升级1/27.... 
                    Else 
                          If 我要的是我的第三类儿子(表示我推荐的三个以外4个人一组的第3个人)  Then                         给我的三儿子的大儿子的大儿子(直到最小辈)添加一个大儿子(实际上添加我的c线) 
                            新添加的这个子孙的爸爸升级1/3,他爸爸的爸爸升级1/9,他爸爸的爸爸的爸爸升级1/27.... 
                          Else 
                            If 我要的是我的第四类儿子(表示我推荐的三个以外4个人一组的第4个人) Then 
                                    从我的祖先往下循环,只要哪个缺,我就给把第四个人给他 
                                          加进去的这个人的爸爸的升级1/3,他爸爸的爸爸升级1/9,他爸爸的爸爸的爸爸升级1/27.... 
                                End IF 
                        End If 
                  End IF 
            End If      
    End If 
                
            如果想实现我推荐的三个人又推荐了其他人,我就按照原来的推荐三个人升一级的方式升级 
    需要在 我的儿子数>=3 后做一个判断 
    if 我的儿子们不是一个儿子都没有 Then 
        我继续按我的方式升级,添加我的第x个儿子,我和我的父辈都升级 
    Else 
        按上面代码执行 
    End If 
    这东西不太好想,我的思路也不一定对,万一对了,算法也不一定是好的,我只能想到这么多了...
    应该这样,每次插入后记录整棵树的第一个空位,那么推荐组中的第4个人不需要在去遍历整棵树,直接插入到记录的空位即可,然后标识下一个空位
      

  7.   

    晕死,你扯这个的关系一点都不大,没有A,B,C,哪来的1,5,9。而且如果有了1,5,9的线,不一定会有2,3,4,6,7,8。
      

  8.   

    if 我的儿子数 <3 Then(子节点数不够,我刚刚开始推荐三个人) 
        我看我有几个儿子(只有三种情况,一个都没有,一个儿子,两个儿子) 
        Select Case 我有几个儿子 
            Case 0 
              添丁大儿子(生第一个儿子,我的节点下面一个都没有,我现在想加一个,肯定是我的子节点的第一个) 
            Case 1 
              添丁(第二个儿子) 
            Case 2 
              添丁(第三个儿子)  
        End Select 
        我要升1/3级,我爸爸升1/9级,我爷爷升1/27级....(只要是添加了我的儿子我和我的父辈一定升级) 这个是错的,有了我的儿子我和我的父辈不一定升级,不成树就不能升级,为什么就都看不完呢?》都只看一部分?》