华为 2020.9.26 笔试

三道编程,一共600分,第一题100,第二题200,第三题300

  1. 有多个项目经理,每个项目经理手下有多个组员,每个组员手下有多个外包人员,每个外包人员手下有多个包裹。输出多棵树,跟是项目经理的名字和所管辖的所有包裹数,下面是组员名字和所管辖的所有包裹数,组员下面是外包人员名字和包裹数。按照包裹数降序,包裹数相同的按照姓名升序。
    输入:performance是所有外包人员及其拥有的包裹数,organization每行是项目经理,组员,外包人员。

    performance
    Adam,1
    Andy,2
    Bill,3
    Evan,4
    
    organization
    Aaron,Abel,Adam
    Aaron,Abel,Andy
    Aaron,Jone,Bill
    Aaron,Jone,Evan
    eof
    

    输出:

    Aaron<10>
    -Jone<7>
    --Evan<4>
    --Bill<3>
    -Abel<3>
    --Andy<2>
    --Adam<1>
    
  2. 输入若为a:[b,c]:3/2,表示a依赖于b和c,即b,c都完成才能运行a,a所需资源数为3,可以并发2.
    输入

    h:[e,f,g]:2;e:[b]:6;f:[c]:6;g:[d]:6;b:[a]:5;c:[a]:5;d:[a]:5;a:[]:3/2
    
  3. 有个九宫格,输入n行,每行前一个数和后一个数(两数在九宫格内部是相邻的或相同的)之间有扇门,不能从前到后,但不限制从后到前。如果相同,表示该位置不能原地停留。输入一个数m,表示可以走m步,开始位置任意,输出m步连成的最大数。(递归,注意是输出最大,所以从后往前,从大位置往小位置找,找到满足m步的就可以退出了)

原文地址:https://www.cnblogs.com/xym4869/p/13736938.html