Ma quindi è in C++ e puoi usare cin, cout e la classe string oppure no?

E poi, deve essere un algoritmo ricorsivo necessariamente?