Create torta.cpp

Se puede modelar el problema como un árbol (quizás es mas intuitivo una máquina de estados, pero eso es también un grafo).
Se tiene que llenar una matriz de 3 x 3, pero se puede pensar como que se tienen que llenar 9 posiciones o si se piensa en 
un grafo, se tiene que armar un camino de 9 aristas. Cada vértice del grafo corresponde a la cantidad de elementos de tipo D,tipo
F, tipo C y tipo M que quedan. Hay 3 D, 3 F, 3 C y 1 M. Por ejemplo un vértice sería V3331 que sería el correspondiente al momento
antes de comenzar a recorrer el grafo (o de armar la torta). Por ejemplo una torta que sea
DDD
***
***

se corresponderá con un camino que comienze con las aristas:
V3331->V2331,V2331->V1331,V1331->V0331,*,*,*,*,*,*
o (usando el comodin M)
V3331->V2331,V2331->V1331,V1331->V1330,*,*,*,*,*,*


La cantidad de vértices que tiene este grafo es: 4 * 4 * 4 * 2= 128. Por lo cual es dificil de graficar.

Una transición válida Vabc->Vxyz es tal que x-a + y-b + z-c = 1.

Siguiendo esta idea el algorítmo recorre un árbol desde el nodo padre V3331 hasta cada uno de los nodos finales V0001, V0010, V0100 y V1000 contando todos los caminos (sin repetirlos) que cumplan con la condición de "torta rica".
Seguro que hay mejores soluciones, esta es medio a la fuerza bruta.