Are you ready for a challenge?
Complete this puzzle and show us that you’re ready for world-class work. If your solution shows true talent, you may get an opportunity to join our team.
We want to see how you approach solving problems with the C++ language, or your preferred programming language.
It is essential that the outcome provides a correct solution to the problem, but of course there are many ways to correctly solve the problem.

Your challenge
Calculate the total number of valid 10-key sequences, given these constraints:
- sequences can start at any key
- each subsequent move must be a knight move
- no more than 2 vowels per sequence
- repeat keys are allowed
- no topological wrapping of keyboard
For example, BKHOHKBILC is one of the many valid 10-key sequences that meets all the constraints.
Your challenge is to write a program that prints the total number of valid sequences.
Keyboard layout:


How to submit your solution
- Acacia’s preferred language is C++. Please:
- Use a single .cpp file with compilation command (either GCC or clang) in a comment at the top of the file
- Compile with -Wpedantic and as recent a version of C++ as you like, e.g., -std=c++23
- Write simple code that is ready to be peer reviewed
- Please include the following in your covering email:
- Your full name and a mobile phone contact number.
- Your current citizenship or visa status, e.g., Australian Citizen, Australian Permanent Resident, Temporary work visa etc.
- An argument, about one paragraph long, describing why your code is correct and fit for peer review.
- Submit your code below