package Ġle et code . google Ċ Ċ import Ġjava . util .* Ċ Ċ /* Ċ Ġ* ĉ // ĠDefinition Ġfor ĠEmployee . Ċ Ġ* ĉ class ĠEmployee Ġ{ Ċ Ġ* ĉ ĉ var Ġid : Int Ġ= Ġ 0 Ċ Ġ* ĉ ĉ var Ġimportance : Int Ġ= Ġ 0 Ċ Ġ* ĉ ĉ var Ġsub ord inates : List < Int > Ġ= ĠlistOf () Ċ Ġ* ĉ } Ċ Ġ*/ Ċ Ċ class ĠEmployee Import ance Ġ{ ĊĠĠĠ Ġfun Ġget Import ance ( employees : ĠList < Employee >, Ġid : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemployee Ref Map Ġ= Ġhash Map Of < Int , ĠEmployee >() ĊĠĠĠĠĠĠĠ Ġemployees . forEach Ġ{ Ġemployee Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemployee Ref Map [ employee . id ] Ġ= Ġemployee ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġqueue : ĠQueue < Int > Ġ= ĠLinkedList < Int >() ĊĠĠĠĠĠĠĠ Ġqueue . add ( id ) ĊĠĠĠĠĠĠĠ Ġvar Ġans Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( queue . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcur Ġ= Ġemployee Ref Map [ queue . poll ()] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cur Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġans Ġ+= Ġcur . import ance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcur . sub ord inates . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . offer ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġans ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠEmployee ( ĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġvar Ġimportance : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġvar Ġsub ord inates : ĠList < Int > Ġ= ĠlistOf (), ĊĠĠĠ Ġ) Ċ }