/** Ċ Ġ* Ġhttps :// leetcode . com / problems / minimum - number - of - fro gs - cro aking / submissions / Ċ Ġ*/ Ċ class ĠMin F ro gs Ġ{ ĊĊĠĠĠ Ġfun Ġmin NumberOf F ro gs ( cro ak Of F ro gs : ĠString ) Ġ: ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtotal F ro gs Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġf ro gs Available Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġcro ak Map Ġ= Ġmutable Map Of ( Pair (' c ', 0 ), Pair (' r ', 0 ), ĠPair (' o ', 0 ), Pair (' a ', 0 ), Pair (' k ', 0 )) ĊĠĠĠĠĠĠĠ Ġfor Ġ( c Ġin Ġcro ak Of F ro gs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' c ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fro gs Available Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal F ro gs ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ro gs Available ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ro gs Available -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' c '] Ġ= Ġcro ak Map [' c '] !! + 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' k '] Ġ= Ġcro ak Map [' k '] !! + 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' r ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cro ak Map [' c '] !! Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' c '] Ġ= Ġcro ak Map [' c '] !! - 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' r '] Ġ= Ġcro ak Map [' r '] !! + 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' o ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cro ak Map [' r '] !! Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' r '] Ġ= Ġcro ak Map [' r '] !! - 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' o '] Ġ= Ġcro ak Map [' o '] !! + 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' a ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cro ak Map [' o '] !! Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' o '] Ġ= Ġcro ak Map [' o '] !! - 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' a '] Ġ= Ġcro ak Map [' a '] !! + 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' k ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cro ak Map [' k '] !! Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' a '] Ġ= Ġcro ak Map [' a '] !! - 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcro ak Map [' k '] Ġ= Ġcro ak Map [' k '] !! - 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ro gs Available ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cro ak Map . values . any Ġ{ Ġit Ġ> Ġ 0 Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtotal F ro gs ĊĠĠĠ Ġ} ĊĊ Ċ }