Jak dla mnie, nie [koniecznie].
PS
O mądrości lub głupocie konstrukcji decyduje konstruktor [coder].
PS 2
Dla SPOJ’a liczy się tylko uzyskany w rozsądnym czasie wynik, a nie metoda. Możesz więc spokojnie użyć zamiast: “najgłubszej konstrukcji z [kilku] ifów”, dowolnej innej, np ze switch, z jednym ifem, lub całkowicie bez, a także możesz to zrobić, jak tylko sobie pomyślisz, czy rekurencyjnie czy iteracyjnie czy jeszcze inaczej. Masz tu całkowitą swobobę, liczy się cel a nie środki.