  In this paper we demonstrate several examples of solving challenging
algorithmic problems from the Google Code Jam programming contest with the
Prolog-based ECLiPSe system using declarative techniques like constraint logic
programming and linear (integer) programming. These problems were designed to
be solved by inventing clever algorithms and efficiently implementing them in a
conventional imperative programming language, but we present relatively simple
declarative programs in ECLiPSe that are fast enough to find answers within the
time limit imposed by the contest rules. We claim that declarative programming
with ECLiPSe is better suited for solving certain common kinds of programming
problems offered in Google Code Jam than imperative programming. We show this
by comparing the mental steps required to come up with both kinds of solutions.
