Acertijos lógicos

Un veterinario tiene que llevar a un perro, un gato y un ratón a su oficina que está al otro lado de un río. La barca en la que se cruza sólo puede llevarlo a él y a algún animal, por lo que los tiene que pasar uno por uno, sin embargo, no puede dejar al perro con el gato ni al gato con el ratón solos. 
¿Cómo cruzará el río?

El veterinario pasa primero al gato, regresa solo y cruza al perro, deja al perro en la otra orilla y regresa con el gato, deja al gato en la orilla original y lleva al ratón, deja al ratón con el perro, retorna solo y regresa por el gato.