import Ġjava . util . Arrays Ċ Ċ // ĠFUN Ġ& ĠPROC ĠGLOBAL ES Ċ // ĠPROC : ĠINTER CAM B IA ĠSIM ULT ANE AM ENT E ĠD OS ĠVAL O RES ĠDE ĠUN ĠARRAY Ċ fun Ġswap ( A : ĠArray < Int >, Ġi : ĠInt , Ġj : ĠInt ): ĠUnit Ġ{ ĊĠĠĠ ĠA [ i ] Ġ= ĠA [ j ]. also Ġ{ ĠA [ j ] Ġ= ĠA [ i ] Ġ} Ċ } Ċ Ċ // FUN : ĠEvalu a Ġsi Ġuna Ġsec u encia Ġes Ġcre c iente Ċ fun Ġgrow Order ( A : ĠArray < Int >): ĠBoolean Ġ{ ĊĊĠĠĠ Ġval Ġn Ġ= ĠA . size ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( A [ i ] Ġ> ĠA [ i Ġ+ Ġ 1 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġtrue Ċ } ĊĊ Ċ // PROC : ĠSi Ġla Ġsec u encia Ġrec ib ida Ġno ĠestÃ¡ Ġen Ġorden Ġcre c iente , Ġel Ġprograma Ġabort a Ċ fun Ġis Not Grow Order ( sequence : ĠArray < Int >, Ġalgorithm : ĠString ): ĠUnit Ġ{ ĊĠĠĠ Ġif Ġ(! grow Order ( sequence )) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" El Ġal gorit mo Ġ$ algorithm Ġha Ġfall ado Ġen Ġorden ar Ġla Ġsec u encia ") ĊĠĠĠĠĠĠĠ ĠSystem . exit ( 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ // FUN : Ġret orna Ġuna Ġsec u encia Ġale ator ia Ġcon Ġn Ãº mer os Ġen Ġel Ġr ango Ġ[ 0 , n ] Ċ fun Ġbasic Sequence ( n : ĠInt ): ĠArray < Int > Ġ{ ĊĠĠĠ Ġval Ġsequence Ġ= ĠArray ( n , Ġ{ 0 }) ĊĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġn ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsequence [ j ] Ġ= Ġ( 0 .. n ). random () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsequence Ċ } Ċ Ċ // FUN : Ġgener a Ġun Ġtipo Ġde Ġsec u encia Ġale ator ia Ċ fun Ġgen Type Seq ( s : ĠString , Ġn : ĠInt ): ĠArray < Int > Ġ{ ĊĠĠĠ Ġvar Ġsequence Ġ= ĠArray ( n , Ġ{ 0 }) ĊĠĠĠ Ġwhen ( s ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" random " Ġ-> Ġsequence Ġ= Ġbasic Sequence ( n ) ĊĠĠĠĠĠĠĠ Ġ" sorted " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence Ġ= Ġbasic Sequence ( n ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence . sort () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ" inv " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence Ġ= Ġbasic Sequence ( n ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence . sort Descending () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsequence Ċ } Ċ Ċ fun Ġcount Flags ( s :) ĊĊ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġ/* Ġvar ĠA Ġ= ĠarrayOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠ Ġvar ĠB Ġ= ĠarrayOf ( 3 , Ġ 2 , Ġ 1 ) ĊĊĠĠĠ Ġprintln ( A . join ToString (" Ġ")) ĊĠĠĠ Ġprintln ( grow Order ( A )) ĊĠĠĠ Ġprintln ( gen Type Seq (" random ", Ġ 1 0 ). join ToString ()) ĊĠĠĠ Ġprintln ( gen Type Seq (" sorted ", Ġ 1 0 ). join ToString ()) ĊĠĠĠ Ġprintln ( gen Type Seq (" inv ", Ġ 1 0 ). join ToString ()) ĊĠĠĠ Ġprintln ( isNot Grow Order ( B , Ġ" Test ")) Ġ*/ ĊĊĠĠĠ Ġval Ġt : ĠInt Ġ= Ġargs [ 0 ]. toInt () ĊĠĠĠ Ġval Ġs : ĠString Ġ= Ġargs [ 1 ] ĊĠĠĠ Ġval Ġn : ĠInt Ġ= Ġargs [ 2 ]. toInt () ĊĊĠĠĠ Ġprintln ("$ t ĠN Ãºmero Ġde Ġintent os ") ĊĠĠĠ Ġprintln ("$ s ĠCl ase Ġde Ġsec u encia ") ĊĠĠĠ Ġprintln ("$ n ĠN Ãºmero Ġde Ġe leme tn os ") Ċ }