@ file : Suppress ( ĊĠĠĠ Ġ" UNUSED _ VARIABLE ", Ġ" Member Visibility Can Be Private ", Ġ" UNUSED _ PARAMETER ", Ġ" unused ", ĊĠĠĠ Ġ" Replace Manual Range With Indices Calls ", Ġ" Replace Size Zero Check With IsEmpty ", Ġ" Same Parameter Value ", Ġ" Same Parameter Value ", ĊĠĠĠ Ġ" Same Parameter Value " Ċ ) Ċ Ċ import Ġalgorithms . Cluster ing Hierarchical Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ /** Ċ Ġ* ĠSee Ġalso : Ċ Ġ* ĠSte pi k : Ġno Ġequivalent Ġproblem Ċ Ġ* ĠRos al ind : Ġhttps :// ros al ind . info / problems / ba 8 d / Ċ Ġ* Ċ Ġ* ĠY outube : Ċ Ġ* ĠSoft Ġk - Means ĠCluster ing Ġ 8 / 9 Ċ Ġ* Ġhttps :// www . youtube . com / watch ? v = fp M 0 i ZT j L h M Ċ Ġ*/ Ċ Ċ internal Ġclass ĠS 0 8 C 1 4 P 0 7 Clusters Hierarchical Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġcluster : ĠCluster ing Hierarchical ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġcluster Ġ= ĠCluster ing Hierarchical () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠImplement ĠH ierarchical ĠCluster ing ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠGiven : ĠAn Ġinteger Ġn , Ġfollowed Ġby Ġan Ġnx n Ġdistance Ġmatrix . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠReturn : ĠThe Ġresult Ġof Ġapplying ĠH ierarchical Cluster ing Ġto ĊĠĠĠĠ Ġ* Ġthis Ġdistance Ġmatrix Ġ( using ĠD avg ), Ġwith Ġeach Ġnewly Ġcreated ĊĠĠĠĠ Ġ* Ġcluster Ġlisted Ġon Ġeach Ġline . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" Clusters ĠSoft ĠK ĠMe ans ĠSample Ġtest ") ĊĠĠĠ Ġfun Ġclusters Hierarchical Sample Test () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 0 Ġ 0 . 7 4 Ġ 0 . 8 5 Ġ 0 . 5 4 Ġ 0 . 8 3 Ġ 0 . 9 2 Ġ 0 . 8 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 7 4 Ġ 0 . 0 0 Ġ 1 . 5 9 Ġ 1 . 3 5 Ġ 1 . 2 0 Ġ 1 . 4 8 Ġ 1 . 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 8 5 Ġ 1 . 5 9 Ġ 0 . 0 0 Ġ 0 . 6 3 Ġ 1 . 1 3 Ġ 0 . 6 9 Ġ 0 . 7 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 5 4 Ġ 1 . 3 5 Ġ 0 . 6 3 Ġ 0 . 0 0 Ġ 0 . 6 6 Ġ 0 . 4 3 Ġ 0 . 8 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 8 3 Ġ 1 . 2 0 Ġ 1 . 1 3 Ġ 0 . 6 6 Ġ 0 . 0 0 Ġ 0 . 7 2 Ġ 0 . 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 9 2 Ġ 1 . 4 8 Ġ 0 . 6 9 Ġ 0 . 4 3 Ġ 0 . 7 2 Ġ 0 . 0 0 Ġ 0 . 8 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 8 9 Ġ 1 . 5 5 Ġ 0 . 7 3 Ġ 0 . 8 8 Ġ 0 . 5 5 Ġ 0 . 8 0 Ġ 0 . 0 0 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). lines (). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġval Ġnum Elements Ġ= Ġinput String . remove First (). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġinput Array Ġ= Ġparse Matrix ( num Elements , Ġinput String ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster . hierarchical Cluster ing ( num Elements , Ġinput Array ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Result Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 4 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 7 Ġ 3 Ġ 4 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 2 Ġ 5 Ġ 7 Ġ 3 Ġ 4 Ġ 6 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġ// print Result ( result ) ĊĠĠĠĠĠĠĠ Ġcheck Result ( expected Result , Ġresult , Ġzero Based Index = true ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" Clusters ĠSoft ĠK ĠMe ans ĠExtra ĠDataset Ġtest ") ĊĠĠĠ Ġfun Ġclusters Hierarchical Extra Dataset Test () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ""" Ċ 2 0 Ċ 0 . 0 0 Ġ 0 . 4 3 Ġ 0 . 9 3 Ġ 0 . 8 5 Ġ 0 . 9 4 Ġ 0 . 7 0 Ġ 0 . 9 5 Ġ 0 . 7 9 Ġ 0 . 8 9 Ġ 1 . 3 4 Ġ 0 . 8 0 Ġ 0 . 6 4 Ġ 1 . 4 2 Ġ 1 . 3 7 Ġ 0 . 8 6 Ġ 1 . 2 0 Ġ 0 . 4 9 Ġ 0 . 1 9 Ġ 1 . 4 8 Ġ 0 . 8 6 Ċ 0 . 4 3 Ġ 0 . 0 0 Ġ 0 . 6 6 Ġ 0 . 7 0 Ġ 1 . 4 8 Ġ 0 . 5 8 Ġ 0 . 7 0 Ġ 0 . 5 5 Ġ 0 . 6 8 Ġ 1 . 4 5 Ġ 1 . 3 1 Ġ 0 . 3 7 Ġ 1 . 2 4 Ġ 1 . 6 9 Ġ 0 . 9 1 Ġ 1 . 2 8 Ġ 1 . 0 4 Ġ 0 . 2 9 Ġ 0 . 9 4 Ġ 1 . 0 5 Ċ 0 . 9 3 Ġ 0 . 6 6 Ġ 0 . 0 0 Ġ 1 . 0 1 Ġ 1 . 4 2 Ġ 0 . 8 0 Ġ 0 . 7 6 Ġ 1 . 1 8 Ġ 0 . 2 1 Ġ 1 . 1 8 Ġ 1 . 3 5 Ġ 0 . 8 2 Ġ 0 . 6 8 Ġ 0 . 8 5 Ġ 0 . 7 5 Ġ 1 . 0 1 Ġ 0 . 9 3 Ġ 1 . 0 3 Ġ 0 . 6 0 Ġ 0 . 9 1 Ċ 0 . 8 5 Ġ 0 . 7 0 Ġ 1 . 0 1 Ġ 0 . 0 0 Ġ 1 . 0 2 Ġ 0 . 2 2 Ġ 0 . 8 9 Ġ 0 . 9 1 Ġ 0 . 7 9 Ġ 1 . 4 7 Ġ 1 . 0 4 Ġ 1 . 5 1 Ġ 0 . 7 1 Ġ 1 . 6 3 Ġ 0 . 3 4 Ġ 1 . 0 5 Ġ 1 . 2 4 Ġ 0 . 5 6 Ġ 1 . 0 9 Ġ 1 . 2 5 Ċ 0 . 9 4 Ġ 1 . 4 8 Ġ 1 . 4 2 Ġ 1 . 0 2 Ġ 0 . 0 0 Ġ 1 . 4 6 Ġ 1 . 4 8 Ġ 0 . 9 5 Ġ 1 . 4 4 Ġ 1 . 0 8 Ġ 0 . 3 0 Ġ 1 . 2 9 Ġ 1 . 2 8 Ġ 0 . 6 5 Ġ 1 . 0 0 Ġ 0 . 8 0 Ġ 0 . 8 0 Ġ 0 . 9 2 Ġ 1 . 4 8 Ġ 0 . 6 5 Ċ 0 . 7 0 Ġ 0 . 5 8 Ġ 0 . 8 0 Ġ 0 . 2 2 Ġ 1 . 4 6 Ġ 0 . 0 0 Ġ 0 . 7 7 Ġ 1 . 0 0 Ġ 0 . 6 5 Ġ 1 . 2 5 Ġ 1 . 2 7 Ġ 1 . 3 6 Ġ 0 . 8 1 Ġ 1 . 5 6 Ġ 0 . 3 7 Ġ 0 . 9 8 Ġ 1 . 1 7 Ġ 0 . 6 8 Ġ 0 . 8 8 Ġ 1 . 2 3 Ċ 0 . 9 5 Ġ 0 . 7 0 Ġ 0 . 7 6 Ġ 0 . 8 9 Ġ 1 . 4 8 Ġ 0 . 7 7 Ġ 0 . 0 0 Ġ 1 . 4 1 Ġ 1 . 0 8 Ġ 1 . 6 1 Ġ 1 . 6 5 Ġ 0 . 8 9 Ġ 0 . 7 6 Ġ 1 . 3 2 Ġ 0 . 6 4 Ġ 0 . 7 0 Ġ 0 . 5 9 Ġ 1 . 0 7 Ġ 0 . 4 9 Ġ 0 . 9 1 Ċ 0 . 7 9 Ġ 0 . 5 5 Ġ 1 . 1 8 Ġ 0 . 9 1 Ġ 0 . 9 5 Ġ 1 . 0 0 Ġ 1 . 4 1 Ġ 0 . 0 0 Ġ 1 . 0 5 Ġ 0 . 7 3 Ġ 1 . 0 8 Ġ 0 . 7 0 Ġ 1 . 4 9 Ġ 1 . 1 7 Ġ 1 . 0 0 Ġ 1 . 3 4 Ġ 1 . 4 5 Ġ 0 . 4 9 Ġ 1 . 0 6 Ġ 1 . 3 0 Ċ 0 . 8 9 Ġ 0 . 6 8 Ġ 0 . 2 1 Ġ 0 . 7 9 Ġ 1 . 4 4 Ġ 0 . 6 5 Ġ 1 . 0 8 Ġ 1 . 0 5 Ġ 0 . 0 0 Ġ 0 . 9 6 Ġ 1 . 0 9 Ġ 0 . 9 4 Ġ 0 . 4 4 Ġ 1 . 0 6 Ġ 0 . 9 0 Ġ 1 . 4 7 Ġ 1 . 2 0 Ġ 0 . 7 9 Ġ 1 . 0 4 Ġ 1 . 3 9 Ċ 1 . 3 4 Ġ 1 . 4 5 Ġ 1 . 1 8 Ġ 1 . 4 7 Ġ 1 . 0 8 Ġ 1 . 2 5 Ġ 1 . 6 1 Ġ 0 . 7 3 Ġ 0 . 9 6 Ġ 0 . 0 0 Ġ 0 . 9 6 Ġ 1 . 1 0 Ġ 1 . 0 5 Ġ 0 . 4 8 Ġ 1 . 3 6 Ġ 1 . 2 6 Ġ 1 . 3 8 Ġ 1 . 3 8 Ġ 1 . 0 3 Ġ 1 . 3 8 Ċ 0 . 8 0 Ġ 1 . 3 1 Ġ 1 . 3 5 Ġ 1 . 0 4 Ġ 0 . 3 0 Ġ 1 . 2 7 Ġ 1 . 6 5 Ġ 1 . 0 8 Ġ 1 . 0 9 Ġ 0 . 9 6 Ġ 0 . 0 0 Ġ 1 . 0 8 Ġ 1 . 0 9 Ġ 0 . 7 9 Ġ 1 . 4 0 Ġ 1 . 0 3 Ġ 1 . 0 2 Ġ 0 . 7 8 Ġ 1 . 7 9 Ġ 0 . 8 6 Ċ 0 . 6 4 Ġ 0 . 3 7 Ġ 0 . 8 2 Ġ 1 . 5 1 Ġ 1 . 2 9 Ġ 1 . 3 6 Ġ 0 . 8 9 Ġ 0 . 7 0 Ġ 0 . 9 4 Ġ 1 . 1 0 Ġ 1 . 0 8 Ġ 0 . 0 0 Ġ 1 . 4 2 Ġ 1 . 2 0 Ġ 1 . 6 1 Ġ 1 . 3 0 Ġ 0 . 8 6 Ġ 0 . 6 8 Ġ 1 . 0 4 Ġ 0 . 8 3 Ċ 1 . 4 2 Ġ 1 . 2 4 Ġ 0 . 6 8 Ġ 0 . 7 1 Ġ 1 . 2 8 Ġ 0 . 8 1 Ġ 0 . 7 6 Ġ 1 . 4 9 Ġ 0 . 4 4 Ġ 1 . 0 5 Ġ 1 . 0 9 Ġ 1 . 4 2 Ġ 0 . 0 0 Ġ 0 . 9 9 Ġ 0 . 8 4 Ġ 1 . 2 0 Ġ 1 . 2 1 Ġ 1 . 2 2 Ġ 0 . 9 7 Ġ 1 . 5 8 Ċ 1 . 3 7 Ġ 1 . 6 9 Ġ 0 . 8 5 Ġ 1 . 6 3 Ġ 0 . 6 5 Ġ 1 . 5 6 Ġ 1 . 3 2 Ġ 1 . 1 7 Ġ 1 . 0 6 Ġ 0 . 4 8 Ġ 0 . 7 9 Ġ 1 . 2 0 Ġ 0 . 9 9 Ġ 0 . 0 0 Ġ 1 . 1 3 Ġ 0 . 6 1 Ġ 1 . 0 0 Ġ 1 . 6 0 Ġ 0 . 8 1 Ġ 0 . 8 3 Ċ 0 . 8 6 Ġ 0 . 9 1 Ġ 0 . 7 5 Ġ 0 . 3 4 Ġ 1 . 0 0 Ġ 0 . 3 7 Ġ 0 . 6 4 Ġ 1 . 0 0 Ġ 0 . 9 0 Ġ 1 . 3 6 Ġ 1 . 4 0 Ġ 1 . 6 1 Ġ 0 . 8 4 Ġ 1 . 1 3 Ġ 0 . 0 0 Ġ 0 . 6 8 Ġ 0 . 8 9 Ġ 0 . 8 6 Ġ 0 . 6 5 Ġ 1 . 0 4 Ċ 1 . 2 0 Ġ 1 . 2 8 Ġ 1 . 0 1 Ġ 1 . 0 5 Ġ 0 . 8 0 Ġ 0 . 9 8 Ġ 0 . 7 0 Ġ 1 . 3 4 Ġ 1 . 4 7 Ġ 1 . 2 6 Ġ 1 . 0 3 Ġ 1 . 3 0 Ġ 1 . 2 0 Ġ 0 . 6 1 Ġ 0 . 6 8 Ġ 0 . 0 0 Ġ 0 . 9 2 Ġ 1 . 4 7 Ġ 0 . 4 7 Ġ 0 . 4 2 Ċ 0 . 4 9 Ġ 1 . 0 4 Ġ 0 . 9 3 Ġ 1 . 2 4 Ġ 0 . 8 0 Ġ 1 . 1 7 Ġ 0 . 5 9 Ġ 1 . 4 5 Ġ 1 . 2 0 Ġ 1 . 3 8 Ġ 1 . 0 2 Ġ 0 . 8 6 Ġ 1 . 2 1 Ġ 1 . 0 0 Ġ 0 . 8 9 Ġ 0 . 9 2 Ġ 0 . 0 0 Ġ 0 . 9 0 Ġ 1 . 1 8 Ġ 0 . 4 9 Ċ 0 . 1 9 Ġ 0 . 2 9 Ġ 1 . 0 3 Ġ 0 . 5 6 Ġ 0 . 9 2 Ġ 0 . 6 8 Ġ 1 . 0 7 Ġ 0 . 4 9 Ġ 0 . 7 9 Ġ 1 . 3 8 Ġ 0 . 7 8 Ġ 0 . 6 8 Ġ 1 . 2 2 Ġ 1 . 6 0 Ġ 0 . 8 6 Ġ 1 . 4 7 Ġ 0 . 9 0 Ġ 0 . 0 0 Ġ 1 . 5 6 Ġ 1 . 2 1 Ċ 1 . 4 8 Ġ 0 . 9 4 Ġ 0 . 6 0 Ġ 1 . 0 9 Ġ 1 . 4 8 Ġ 0 . 8 8 Ġ 0 . 4 9 Ġ 1 . 0 6 Ġ 1 . 0 4 Ġ 1 . 0 3 Ġ 1 . 7 9 Ġ 1 . 0 4 Ġ 0 . 9 7 Ġ 0 . 8 1 Ġ 0 . 6 5 Ġ 0 . 4 7 Ġ 1 . 1 8 Ġ 1 . 5 6 Ġ 0 . 0 0 Ġ 0 . 8 4 Ċ 0 . 8 6 Ġ 1 . 0 5 Ġ 0 . 9 1 Ġ 1 . 2 5 Ġ 0 . 6 5 Ġ 1 . 2 3 Ġ 0 . 9 1 Ġ 1 . 3 0 Ġ 1 . 3 9 Ġ 1 . 3 8 Ġ 0 . 8 6 Ġ 0 . 8 3 Ġ 1 . 5 8 Ġ 0 . 8 3 Ġ 1 . 0 4 Ġ 0 . 4 2 Ġ 0 . 4 9 Ġ 1 . 2 1 Ġ 0 . 8 4 Ġ 0 . 0 0 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). lines (). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġval Ġnum Elements Ġ= Ġinput String . remove First (). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġinput Array Ġ= Ġparse Matrix ( num Elements , Ġinput String ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster . hierarchical Cluster ing ( num Elements , Ġinput Array ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Result Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ 4 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 1 Ġ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 6 Ġ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ 1 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 Ġ 3 Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 Ġ 2 Ġ 1 Ġ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ 1 2 Ġ 2 Ġ 1 Ġ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ 1 6 Ġ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ 1 9 Ġ 1 7 Ġ 1 6 Ġ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ 4 Ġ 6 Ġ 1 3 Ġ 3 Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 1 1 Ġ 1 0 Ġ 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ 1 2 Ġ 2 Ġ 1 Ġ 1 8 Ġ 1 5 Ġ 4 Ġ 6 Ġ 1 3 Ġ 3 Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ 1 9 Ġ 1 7 Ġ 1 6 Ġ 2 0 Ġ 8 Ġ 1 2 Ġ 2 Ġ 1 Ġ 1 8 Ġ 1 5 Ġ 4 Ġ 6 Ġ 1 3 Ġ 3 Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 1 1 Ġ 1 0 Ġ 1 4 Ġ 7 Ġ 1 9 Ġ 1 7 Ġ 1 6 Ġ 2 0 Ġ 8 Ġ 1 2 Ġ 2 Ġ 1 Ġ 1 8 Ġ 1 5 Ġ 4 Ġ 6 Ġ 1 3 Ġ 3 Ġ 9 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġ// print Result ( result ) ĊĠĠĠĠĠĠĠ Ġcheck Result ( expected Result , Ġresult , Ġzero Based Index = true ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" Clusters ĠSoft ĠK ĠMe ans ĠRos al ind ĠQu iz Ġtest ") ĊĠĠĠ Ġfun Ġclusters Hierarchical Ros al ind Quiz Test () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ""" Ċ 2 0 Ċ 0 . 0 0 Ġ 0 . 9 9 Ġ 0 . 5 4 Ġ 0 . 6 4 Ġ 0 . 6 5 Ġ 0 . 6 9 Ġ 0 . 8 3 Ġ 0 . 9 5 Ġ 1 . 7 0 Ġ 1 . 0 6 Ġ 0 . 7 1 Ġ 0 . 9 9 Ġ 0 . 5 2 Ġ 0 . 7 9 Ġ 0 . 7 8 Ġ 0 . 9 7 Ġ 1 . 3 1 Ġ 1 . 2 9 Ġ 0 . 7 7 Ġ 0 . 8 7 Ċ 0 . 9 9 Ġ 0 . 0 0 Ġ 1 . 1 8 Ġ 0 . 9 9 Ġ 0 . 4 9 Ġ 1 . 1 1 Ġ 1 . 3 1 Ġ 1 . 5 7 Ġ 1 . 3 0 Ġ 1 . 5 1 Ġ 0 . 5 0 Ġ 0 . 8 1 Ġ 0 . 8 9 Ġ 0 . 8 3 Ġ 1 . 1 9 Ġ 0 . 8 0 Ġ 0 . 8 0 Ġ 1 . 3 0 Ġ 0 . 7 9 Ġ 0 . 5 6 Ċ 0 . 5 4 Ġ 1 . 1 8 Ġ 0 . 0 0 Ġ 0 . 4 8 Ġ 1 . 1 9 Ġ 0 . 2 3 Ġ 0 . 3 8 Ġ 0 . 8 0 Ġ 1 . 3 1 Ġ 1 . 3 5 Ġ 1 . 3 6 Ġ 0 . 9 6 Ġ 1 . 0 7 Ġ 0 . 9 9 Ġ 0 . 6 6 Ġ 0 . 8 8 Ġ 1 . 5 7 Ġ 0 . 9 3 Ġ 1 . 2 6 Ġ 1 . 3 4 Ċ 0 . 6 4 Ġ 0 . 9 9 Ġ 0 . 4 8 Ġ 0 . 0 0 Ġ 0 . 6 8 Ġ 0 . 5 3 Ġ 1 . 1 6 Ġ 0 . 8 2 Ġ 1 . 1 1 Ġ 0 . 9 1 Ġ 1 . 4 2 Ġ 0 . 4 1 Ġ 0 . 7 9 Ġ 1 . 3 4 Ġ 0 . 9 3 Ġ 1 . 0 4 Ġ 1 . 1 9 Ġ 1 . 2 1 Ġ 0 . 8 9 Ġ 0 . 8 3 Ċ 0 . 6 5 Ġ 0 . 4 9 Ġ 1 . 1 9 Ġ 0 . 6 8 Ġ 0 . 0 0 Ġ 1 . 4 4 Ġ 1 . 3 4 Ġ 1 . 1 3 Ġ 1 . 3 9 Ġ 0 . 6 5 Ġ 0 . 5 6 Ġ 0 . 4 3 Ġ 0 . 4 2 Ġ 0 . 9 4 Ġ 1 . 4 2 Ġ 0 . 9 2 Ġ 0 . 6 1 Ġ 1 . 2 1 Ġ 0 . 4 6 Ġ 0 . 2 6 Ċ 0 . 6 9 Ġ 1 . 1 1 Ġ 0 . 2 3 Ġ 0 . 5 3 Ġ 1 . 4 4 Ġ 0 . 0 0 Ġ 0 . 7 6 Ġ 1 . 0 7 Ġ 1 . 1 1 Ġ 1 . 5 9 Ġ 1 . 4 8 Ġ 1 . 1 7 Ġ 1 . 2 0 Ġ 1 . 3 6 Ġ 0 . 3 7 Ġ 1 . 1 2 Ġ 1 . 6 6 Ġ 0 . 8 6 Ġ 1 . 4 6 Ġ 1 . 5 0 Ċ 0 . 8 3 Ġ 1 . 3 1 Ġ 0 . 3 8 Ġ 1 . 1 6 Ġ 1 . 3 4 Ġ 0 . 7 6 Ġ 0 . 0 0 Ġ 0 . 9 2 Ġ 1 . 1 2 Ġ 1 . 1 1 Ġ 0 . 9 2 Ġ 1 . 3 4 Ġ 1 . 3 0 Ġ 0 . 8 0 Ġ 0 . 9 0 Ġ 0 . 6 3 Ġ 1 . 0 7 Ġ 0 . 6 0 Ġ 1 . 4 2 Ġ 1 . 2 5 Ċ 0 . 9 5 Ġ 1 . 5 7 Ġ 0 . 8 0 Ġ 0 . 8 2 Ġ 1 . 1 3 Ġ 1 . 0 7 Ġ 0 . 9 2 Ġ 0 . 0 0 Ġ 0 . 7 8 Ġ 0 . 5 8 Ġ 1 . 2 7 Ġ 0 . 6 1 Ġ 0 . 6 5 Ġ 0 . 7 0 Ġ 0 . 9 1 Ġ 0 . 7 1 Ġ 1 . 1 8 Ġ 1 . 3 2 Ġ 0 . 7 1 Ġ 1 . 3 1 Ċ 1 . 7 0 Ġ 1 . 3 0 Ġ 1 . 3 1 Ġ 1 . 1 1 Ġ 1 . 3 9 Ġ 1 . 1 1 Ġ 1 . 1 2 Ġ 0 . 7 8 Ġ 0 . 0 0 Ġ 0 . 6 8 Ġ 1 . 2 3 Ġ 0 . 7 2 Ġ 1 . 0 3 Ġ 1 . 4 2 Ġ 1 . 1 5 Ġ 0 . 8 8 Ġ 0 . 7 6 Ġ 0 . 7 7 Ġ 1 . 5 4 Ġ 0 . 9 9 Ċ 1 . 0 6 Ġ 1 . 5 1 Ġ 1 . 3 5 Ġ 0 . 9 1 Ġ 0 . 6 5 Ġ 1 . 5 9 Ġ 1 . 1 1 Ġ 0 . 5 8 Ġ 0 . 6 8 Ġ 0 . 0 0 Ġ 1 . 0 1 Ġ 0 . 5 9 Ġ 0 . 6 3 Ġ 1 . 1 4 Ġ 1 . 4 6 Ġ 1 . 0 5 Ġ 0 . 5 5 Ġ 0 . 8 9 Ġ 0 . 8 2 Ġ 0 . 5 9 Ċ 0 . 7 1 Ġ 0 . 5 0 Ġ 1 . 3 6 Ġ 1 . 4 2 Ġ 0 . 5 6 Ġ 1 . 4 8 Ġ 0 . 9 2 Ġ 1 . 2 7 Ġ 1 . 2 3 Ġ 1 . 0 1 Ġ 0 . 0 0 Ġ 1 . 0 5 Ġ 0 . 6 4 Ġ 0 . 6 4 Ġ 1 . 1 7 Ġ 0 . 4 6 Ġ 0 . 4 7 Ġ 1 . 1 6 Ġ 0 . 8 4 Ġ 0 . 5 3 Ċ 0 . 9 9 Ġ 0 . 8 1 Ġ 0 . 9 6 Ġ 0 . 4 1 Ġ 0 . 4 3 Ġ 1 . 1 7 Ġ 1 . 3 4 Ġ 0 . 6 1 Ġ 0 . 7 2 Ġ 0 . 5 9 Ġ 1 . 0 5 Ġ 0 . 0 0 Ġ 0 . 3 4 Ġ 1 . 0 4 Ġ 1 . 4 6 Ġ 0 . 8 3 Ġ 0 . 9 1 Ġ 1 . 3 9 Ġ 0 . 8 2 Ġ 0 . 4 4 Ċ 0 . 5 2 Ġ 0 . 8 9 Ġ 1 . 0 7 Ġ 0 . 7 9 Ġ 0 . 4 2 Ġ 1 . 2 0 Ġ 1 . 3 0 Ġ 0 . 6 5 Ġ 1 . 0 3 Ġ 0 . 6 3 Ġ 0 . 6 4 Ġ 0 . 3 4 Ġ 0 . 0 0 Ġ 0 . 8 5 Ġ 1 . 2 4 Ġ 0 . 9 0 Ġ 1 . 0 7 Ġ 1 . 4 2 Ġ 0 . 7 8 Ġ 0 . 5 2 Ċ 0 . 7 9 Ġ 0 . 8 3 Ġ 0 . 9 9 Ġ 1 . 3 4 Ġ 0 . 9 4 Ġ 1 . 3 6 Ġ 0 . 8 0 Ġ 0 . 7 0 Ġ 1 . 4 2 Ġ 1 . 1 4 Ġ 0 . 6 4 Ġ 1 . 0 4 Ġ 0 . 8 5 Ġ 0 . 0 0 Ġ 1 . 3 0 Ġ 0 . 7 8 Ġ 1 . 1 7 Ġ 1 . 6 6 Ġ 0 . 5 2 Ġ 0 . 9 6 Ċ 0 . 7 8 Ġ 1 . 1 9 Ġ 0 . 6 6 Ġ 0 . 9 3 Ġ 1 . 4 2 Ġ 0 . 3 7 Ġ 0 . 9 0 Ġ 0 . 9 1 Ġ 1 . 1 5 Ġ 1 . 4 6 Ġ 1 . 1 7 Ġ 1 . 4 6 Ġ 1 . 2 4 Ġ 1 . 3 0 Ġ 0 . 0 0 Ġ 0 . 8 0 Ġ 1 . 2 4 Ġ 0 . 7 7 Ġ 1 . 0 5 Ġ 1 . 7 9 Ċ 0 . 9 7 Ġ 0 . 8 0 Ġ 0 . 8 8 Ġ 1 . 0 4 Ġ 0 . 9 2 Ġ 1 . 1 2 Ġ 0 . 6 3 Ġ 0 . 7 1 Ġ 0 . 8 8 Ġ 1 . 0 5 Ġ 0 . 4 6 Ġ 0 . 8 3 Ġ 0 . 9 0 Ġ 0 . 7 8 Ġ 0 . 8 0 Ġ 0 . 0 0 Ġ 0 . 5 2 Ġ 1 . 0 7 Ġ 0 . 9 5 Ġ 1 . 0 2 Ċ 1 . 3 1 Ġ 0 . 8 0 Ġ 1 . 5 7 Ġ 1 . 1 9 Ġ 0 . 6 1 Ġ 1 . 6 6 Ġ 1 . 0 7 Ġ 1 . 1 8 Ġ 0 . 7 6 Ġ 0 . 5 5 Ġ 0 . 4 7 Ġ 0 . 9 1 Ġ 1 . 0 7 Ġ 1 . 1 7 Ġ 1 . 2 4 Ġ 0 . 5 2 Ġ 0 . 0 0 Ġ 0 . 7 4 Ġ 0 . 8 4 Ġ 0 . 5 7 Ċ 1 . 2 9 Ġ 1 . 3 0 Ġ 0 . 9 3 Ġ 1 . 2 1 Ġ 1 . 2 1 Ġ 0 . 8 6 Ġ 0 . 6 0 Ġ 1 . 3 2 Ġ 0 . 7 7 Ġ 0 . 8 9 Ġ 1 . 1 6 Ġ 1 . 3 9 Ġ 1 . 4 2 Ġ 1 . 6 6 Ġ 0 . 7 7 Ġ 1 . 0 7 Ġ 0 . 7 4 Ġ 0 . 0 0 Ġ 1 . 5 3 Ġ 1 . 2 3 Ċ 0 . 7 7 Ġ 0 . 7 9 Ġ 1 . 2 6 Ġ 0 . 8 9 Ġ 0 . 4 6 Ġ 1 . 4 6 Ġ 1 . 4 2 Ġ 0 . 7 1 Ġ 1 . 5 4 Ġ 0 . 8 2 Ġ 0 . 8 4 Ġ 0 . 8 2 Ġ 0 . 7 8 Ġ 0 . 5 2 Ġ 1 . 0 5 Ġ 0 . 9 5 Ġ 0 . 8 4 Ġ 1 . 5 3 Ġ 0 . 0 0 Ġ 0 . 9 2 Ċ 0 . 8 7 Ġ 0 . 5 6 Ġ 1 . 3 4 Ġ 0 . 8 3 Ġ 0 . 2 6 Ġ 1 . 5 0 Ġ 1 . 2 5 Ġ 1 . 3 1 Ġ 0 . 9 9 Ġ 0 . 5 9 Ġ 0 . 5 3 Ġ 0 . 4 4 Ġ 0 . 5 2 Ġ 0 . 9 6 Ġ 1 . 7 9 Ġ 1 . 0 2 Ġ 0 . 5 7 Ġ 1 . 2 3 Ġ 0 . 9 2 Ġ 0 . 0 0 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). lines (). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġval Ġnum Elements Ġ= Ġinput String . remove First (). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġinput Array Ġ= Ġparse Matrix ( num Elements , Ġinput String ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster . hierarchical Cluster ing ( num Elements , Ġinput Array ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Result Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 2 0 Ġ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 Ġ 1 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ 1 1 Ġ 1 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 Ġ 1 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 4 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ 1 Ġ 4 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 5 Ġ 2 0 Ġ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ 8 Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ 1 1 Ġ 1 6 Ġ 2 Ġ 5 Ġ 2 0 Ġ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 Ġ 1 9 Ġ 1 7 Ġ 1 1 Ġ 1 6 Ġ 2 Ġ 5 Ġ 2 0 Ġ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ 1 8 Ġ 1 5 Ġ 1 Ġ 4 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ 8 Ġ 1 0 Ġ 1 4 Ġ 1 9 Ġ 1 7 Ġ 1 1 Ġ 1 6 Ġ 2 Ġ 5 Ġ 2 0 Ġ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ 1 8 Ġ 1 5 Ġ 1 Ġ 4 Ġ 3 Ġ 6 Ġ 9 Ġ 8 Ġ 1 0 Ġ 1 4 Ġ 1 9 Ġ 1 7 Ġ 1 1 Ġ 1 6 Ġ 2 Ġ 5 Ġ 2 0 Ġ 1 2 Ġ 1 3 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġ// print Result ( result ) ĊĠĠĠĠĠĠĠ Ġcheck Result ( expected Result , Ġresult , Ġzero Based Index = true ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" Clusters ĠSoft ĠK ĠMe ans ĠSte pi k ĠQu iz Ġtest ") ĊĠĠĠ Ġfun Ġclusters Hierarchical Step ik Quiz Test () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ""" Ċ 2 0 Ċ 0 . 0 0 Ġ 1 . 2 8 Ġ 1 . 2 4 Ġ 1 . 2 7 Ġ 0 . 8 7 Ġ 1 . 1 4 Ġ 0 . 8 1 Ġ 0 . 8 1 Ġ 1 . 4 3 Ġ 1 . 0 3 Ġ 0 . 4 1 Ġ 1 . 3 1 Ġ 1 . 0 1 Ġ 0 . 6 7 Ġ 0 . 6 4 Ġ 0 . 7 7 Ġ 0 . 5 7 Ġ 0 . 8 3 Ġ 1 . 4 3 Ġ 1 . 0 6 Ċ 1 . 2 8 Ġ 0 . 0 0 Ġ 1 . 1 6 Ġ 0 . 5 7 Ġ 1 . 3 1 Ġ 0 . 6 9 Ġ 1 . 1 6 Ġ 1 . 0 7 Ġ 0 . 8 7 Ġ 0 . 2 8 Ġ 0 . 5 6 Ġ 0 . 9 5 Ġ 0 . 6 6 Ġ 1 . 1 3 Ġ 1 . 0 2 Ġ 1 . 2 7 Ġ 1 . 5 3 Ġ 1 . 3 4 Ġ 1 . 3 1 Ġ 0 . 9 2 Ċ 1 . 2 4 Ġ 1 . 1 6 Ġ 0 . 0 0 Ġ 1 . 0 8 Ġ 0 . 8 8 Ġ 0 . 2 3 Ġ 0 . 8 8 Ġ 1 . 2 3 Ġ 0 . 8 1 Ġ 1 . 5 8 Ġ 1 . 4 1 Ġ 1 . 6 7 Ġ 0 . 6 7 Ġ 0 . 7 4 Ġ 0 . 7 2 Ġ 0 . 8 2 Ġ 1 . 2 6 Ġ 0 . 7 3 Ġ 1 . 0 1 Ġ 0 . 7 5 Ċ 1 . 2 7 Ġ 0 . 5 7 Ġ 1 . 0 8 Ġ 0 . 0 0 Ġ 1 . 7 3 Ġ 0 . 8 8 Ġ 1 . 8 5 Ġ 1 . 4 8 Ġ 0 . 7 3 Ġ 0 . 3 4 Ġ 0 . 9 0 Ġ 0 . 9 8 Ġ 1 . 0 2 Ġ 1 . 3 1 Ġ 1 . 3 1 Ġ 1 . 0 1 Ġ 1 . 2 7 Ġ 1 . 5 3 Ġ 0 . 7 5 Ġ 1 . 0 3 Ċ 0 . 8 7 Ġ 1 . 3 1 Ġ 0 . 8 8 Ġ 1 . 7 3 Ġ 0 . 0 0 Ġ 0 . 9 3 Ġ 0 . 1 6 Ġ 0 . 6 9 Ġ 1 . 0 8 Ġ 1 . 4 3 Ġ 1 . 1 0 Ġ 1 . 1 4 Ġ 0 . 7 0 Ġ 1 . 2 2 Ġ 0 . 5 8 Ġ 1 . 0 3 Ġ 0 . 8 4 Ġ 0 . 3 9 Ġ 1 . 4 4 Ġ 0 . 7 8 Ċ 1 . 1 4 Ġ 0 . 6 9 Ġ 0 . 2 3 Ġ 0 . 8 8 Ġ 0 . 9 3 Ġ 0 . 0 0 Ġ 1 . 0 1 Ġ 1 . 4 8 Ġ 1 . 0 5 Ġ 1 . 1 3 Ġ 0 . 9 5 Ġ 1 . 8 5 Ġ 0 . 4 1 Ġ 0 . 9 6 Ġ 0 . 7 6 Ġ 0 . 8 7 Ġ 1 . 5 1 Ġ 0 . 6 3 Ġ 1 . 3 2 Ġ 0 . 5 6 Ċ 0 . 8 1 Ġ 1 . 1 6 Ġ 0 . 8 8 Ġ 1 . 8 5 Ġ 0 . 1 6 Ġ 1 . 0 1 Ġ 0 . 0 0 Ġ 0 . 4 4 Ġ 1 . 0 6 Ġ 1 . 5 0 Ġ 1 . 0 3 Ġ 1 . 0 0 Ġ 0 . 7 0 Ġ 0 . 8 3 Ġ 0 . 4 3 Ġ 1 . 1 3 Ġ 0 . 9 7 Ġ 0 . 5 6 Ġ 1 . 3 7 Ġ 0 . 9 2 Ċ 0 . 8 1 Ġ 1 . 0 7 Ġ 1 . 2 3 Ġ 1 . 4 8 Ġ 0 . 6 9 Ġ 1 . 4 8 Ġ 0 . 4 4 Ġ 0 . 0 0 Ġ 0 . 8 9 Ġ 1 . 0 9 Ġ 0 . 9 4 Ġ 0 . 5 8 Ġ 1 . 3 7 Ġ 0 . 9 5 Ġ 0 . 8 3 Ġ 0 . 7 7 Ġ 0 . 6 1 Ġ 1 . 3 3 Ġ 1 . 1 4 Ġ 1 . 4 1 Ċ 1 . 4 3 Ġ 0 . 8 7 Ġ 0 . 8 1 Ġ 0 . 7 3 Ġ 1 . 0 8 Ġ 1 . 0 5 Ġ 1 . 0 6 Ġ 0 . 8 9 Ġ 0 . 0 0 Ġ 0 . 8 7 Ġ 1 . 0 9 Ġ 0 . 7 0 Ġ 1 . 2 0 Ġ 1 . 1 5 Ġ 0 . 6 5 Ġ 1 . 4 5 Ġ 0 . 7 6 Ġ 1 . 2 8 Ġ 1 . 0 5 Ġ 1 . 5 2 Ċ 1 . 0 3 Ġ 0 . 2 8 Ġ 1 . 5 8 Ġ 0 . 3 4 Ġ 1 . 4 3 Ġ 1 . 1 3 Ġ 1 . 5 0 Ġ 1 . 0 9 Ġ 0 . 8 7 Ġ 0 . 0 0 Ġ 0 . 4 7 Ġ 0 . 7 4 Ġ 1 . 0 1 Ġ 1 . 4 0 Ġ 1 . 2 9 Ġ 1 . 1 7 Ġ 1 . 0 2 Ġ 1 . 5 6 Ġ 1 . 2 8 Ġ 1 . 0 6 Ċ 0 . 4 1 Ġ 0 . 5 6 Ġ 1 . 4 1 Ġ 0 . 9 0 Ġ 1 . 1 0 Ġ 0 . 9 5 Ġ 1 . 0 3 Ġ 0 . 9 4 Ġ 1 . 0 9 Ġ 0 . 4 7 Ġ 0 . 0 0 Ġ 1 . 1 8 Ġ 1 . 0 6 Ġ 1 . 0 6 Ġ 0 . 6 0 Ġ 1 . 0 1 Ġ 0 . 8 5 Ġ 0 . 9 2 Ġ 1 . 5 9 Ġ 1 . 3 5 Ċ 1 . 3 1 Ġ 0 . 9 5 Ġ 1 . 6 7 Ġ 0 . 9 8 Ġ 1 . 1 4 Ġ 1 . 8 5 Ġ 1 . 0 0 Ġ 0 . 5 8 Ġ 0 . 7 0 Ġ 0 . 7 4 Ġ 1 . 1 8 Ġ 0 . 0 0 Ġ 1 . 4 3 Ġ 1 . 1 2 Ġ 1 . 2 8 Ġ 1 . 3 9 Ġ 0 . 8 1 Ġ 1 . 4 8 Ġ 0 . 6 2 Ġ 1 . 4 0 Ċ 1 . 0 1 Ġ 0 . 6 6 Ġ 0 . 6 7 Ġ 1 . 0 2 Ġ 0 . 7 0 Ġ 0 . 4 1 Ġ 0 . 7 0 Ġ 1 . 3 7 Ġ 1 . 2 0 Ġ 1 . 0 1 Ġ 1 . 0 6 Ġ 1 . 4 3 Ġ 0 . 0 0 Ġ 0 . 8 0 Ġ 0 . 7 7 Ġ 1 . 3 6 Ġ 1 . 5 9 Ġ 0 . 7 4 Ġ 1 . 3 7 Ġ 0 . 2 0 Ċ 0 . 6 7 Ġ 1 . 1 3 Ġ 0 . 7 4 Ġ 1 . 3 1 Ġ 1 . 2 2 Ġ 0 . 9 6 Ġ 0 . 8 3 Ġ 0 . 9 5 Ġ 1 . 1 5 Ġ 1 . 4 0 Ġ 1 . 0 6 Ġ 1 . 1 2 Ġ 0 . 8 0 Ġ 0 . 0 0 Ġ 0 . 8 0 Ġ 1 . 2 5 Ġ 1 . 0 2 Ġ 1 . 0 3 Ġ 0 . 9 9 Ġ 0 . 9 0 Ċ 0 . 6 4 Ġ 1 . 0 2 Ġ 0 . 7 2 Ġ 1 . 3 1 Ġ 0 . 5 8 Ġ 0 . 7 6 Ġ 0 . 4 3 Ġ 0 . 8 3 Ġ 0 . 6 5 Ġ 1 . 2 9 Ġ 0 . 6 0 Ġ 1 . 2 8 Ġ 0 . 7 7 Ġ 0 . 8 0 Ġ 0 . 0 0 Ġ 1 . 2 6 Ġ 0 . 9 5 Ġ 0 . 5 5 Ġ 1 . 4 2 Ġ 1 . 3 0 Ċ 0 . 7 7 Ġ 1 . 2 7 Ġ 0 . 8 2 Ġ 1 . 0 1 Ġ 1 . 0 3 Ġ 0 . 8 7 Ġ 1 . 1 3 Ġ 0 . 7 7 Ġ 1 . 4 5 Ġ 1 . 1 7 Ġ 1 . 0 1 Ġ 1 . 3 9 Ġ 1 . 3 6 Ġ 1 . 2 5 Ġ 1 . 2 6 Ġ 0 . 0 0 Ġ 0 . 9 1 Ġ 1 . 0 4 Ġ 0 . 8 5 Ġ 1 . 0 3 Ċ 0 . 5 7 Ġ 1 . 5 3 Ġ 1 . 2 6 Ġ 1 . 2 7 Ġ 0 . 8 4 Ġ 1 . 5 1 Ġ 0 . 9 7 Ġ 0 . 6 1 Ġ 0 . 7 6 Ġ 1 . 0 2 Ġ 0 . 8 5 Ġ 0 . 8 1 Ġ 1 . 5 9 Ġ 1 . 0 2 Ġ 0 . 9 5 Ġ 0 . 9 1 Ġ 0 . 0 0 Ġ 1 . 1 0 Ġ 1 . 2 9 Ġ 1 . 4 5 Ċ 0 . 8 3 Ġ 1 . 3 4 Ġ 0 . 7 3 Ġ 1 . 5 3 Ġ 0 . 3 9 Ġ 0 . 6 3 Ġ 0 . 5 6 Ġ 1 . 3 3 Ġ 1 . 2 8 Ġ 1 . 5 6 Ġ 0 . 9 2 Ġ 1 . 4 8 Ġ 0 . 7 4 Ġ 1 . 0 3 Ġ 0 . 5 5 Ġ 1 . 0 4 Ġ 1 . 1 0 Ġ 0 . 0 0 Ġ 1 . 1 8 Ġ 0 . 8 5 Ċ 1 . 4 3 Ġ 1 . 3 1 Ġ 1 . 0 1 Ġ 0 . 7 5 Ġ 1 . 4 4 Ġ 1 . 3 2 Ġ 1 . 3 7 Ġ 1 . 1 4 Ġ 1 . 0 5 Ġ 1 . 2 8 Ġ 1 . 5 9 Ġ 0 . 6 2 Ġ 1 . 3 7 Ġ 0 . 9 9 Ġ 1 . 4 2 Ġ 0 . 8 5 Ġ 1 . 2 9 Ġ 1 . 1 8 Ġ 0 . 0 0 Ġ 1 . 1 5 Ċ 1 . 0 6 Ġ 0 . 9 2 Ġ 0 . 7 5 Ġ 1 . 0 3 Ġ 0 . 7 8 Ġ 0 . 5 6 Ġ 0 . 9 2 Ġ 1 . 4 1 Ġ 1 . 5 2 Ġ 1 . 0 6 Ġ 1 . 3 5 Ġ 1 . 4 0 Ġ 0 . 2 0 Ġ 0 . 9 0 Ġ 1 . 3 0 Ġ 1 . 0 3 Ġ 1 . 4 5 Ġ 0 . 8 5 Ġ 1 . 1 5 Ġ 0 . 0 0 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). lines (). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġval Ġnum Elements Ġ= Ġinput String . remove First (). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġinput Array Ġ= Ġparse Matrix ( num Elements , Ġinput String ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcluster . hierarchical Cluster ing ( num Elements , Ġinput Array ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Result Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 Ġ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ 2 Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 8 Ġ 5 Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ 1 8 Ġ 5 Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 Ġ 2 0 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ 1 Ġ 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ 8 Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ 1 8 Ġ 5 Ġ 7 Ġ 1 3 Ġ 2 0 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 6 Ġ 1 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 Ġ 1 5 Ġ 1 8 Ġ 5 Ġ 7 Ġ 1 3 Ġ 2 0 Ġ 3 Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ 2 Ġ 1 0 Ġ 9 Ġ 8 Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ 1 Ġ 1 1 Ġ 4 Ġ 2 Ġ 1 0 Ġ 9 Ġ 8 Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 6 Ġ 1 9 Ġ 1 7 Ġ 1 Ġ 1 1 Ġ 4 Ġ 2 Ġ 1 0 Ġ 9 Ġ 8 Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 Ġ 1 5 Ġ 1 8 Ġ 5 Ġ 7 Ġ 1 3 Ġ 2 0 Ġ 3 Ġ 6 Ġ 1 6 Ġ 1 9 Ġ 1 7 Ġ 1 Ġ 1 1 Ġ 4 Ġ 2 Ġ 1 0 Ġ 9 Ġ 8 Ġ 1 2 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġ// print Result ( result ) ĊĠĠĠĠĠĠĠ Ġcheck Result ( expected Result , Ġresult , Ġzero Based Index = true ) ĊĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġprivate Ġfun Ġparse Matrix ( num Elements : ĠInt , Ġmatrix Strings : ĠMutable List < String >): ĠMutable List < Mutable List < Double >> Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġmatrix : ĠMutable List < Mutable List < Double >> Ġ= Ġmutable ListOf () ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( row Ġin Ġ 0 Ġuntil Ġnum Elements ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Values Ġ= Ġmatrix Strings [ row ]. split (" Ġ"). map Ġ{ Ġit . toDouble ()}. to Mutable List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatrix . add ( row Values ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmatrix ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprint Result ( result : ĠList < List < Int >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( r Ġin Ġresult ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġr . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprint ( r [ i ]+ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġr . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprint ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprint (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Result ( str : ĠString , Ġresult : ĠList < List < Int >>, Ġzero Based Index : Boolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlines Ġ= Ġstr . lines () ĊĠĠĠĠĠĠĠ Ġval Ġexpected Result List : ĠMutable List < List < Int >> Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġelements Ġ= Ġ Ġlines . map Ġ{ Ġit . split (" Ġ") Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġ 0 Ġuntil Ġelements . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġelements [ line ]. size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Element Ġ= Ġresult [ line ][ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( zero Based Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Element ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Element Ġ= Ġelements [ line ][ i ]. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( result Element , Ġexpected Element ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }