Pues más allá de lo que signifiquen (*), no cabe duda de que string(s.rbegin(), s.rend()) lo que hace es invertir la cadena y, tal como el mismo
ecfisa dice, me temo que éso sólo traslada el problema. A fin de cuentas bastaría definir una función reverse que devuelva la cadena invertida y usarla en el operador ternario. Pero no se pueden usar funciones y, a menos que la intención del profesor haya sido la de que los alumnos descubrieran ese iterador o alguna otra función de inversión, no creo que vaya por ahí la solución.
LineComment Saludos
---------------------
* Supongo que a esto:
reverse iterator to reverse beginning