Implementación en lenguaje C de Cow Frisbee Team
#include lt;iostreamgt;
#include lt;stdio.lt;stdio.hgt;
#include stdio. hgt;
int count=0; //Guarda el número de soluciones factibles.
void feipan(int *rank, int a, int sum, int N, int F); //calcula el número de escenarios
int main()
{
int N, F
coutlt; "Ingrese datos" lt;
cingt; ; gt; F;
int *rango=nuevo int[N];
for(int i=0; ilt; N; i)
{
cingt; gt; ranking[i];
}
int sum=0;
feipan(rank, 0, sum, N, F); // Calcula el número de opciones;
coutlt;lt; "El número de opciones factibles es: "lt; lt;countlt; lt; endl;
Devuelve 0;
}
void feipan(int *rank, int a, int sum, int N, int F) p>
{
if(agt;=N) //llegar al nodo hoja
{
if(sumF==0amp ;amp;sumgt ;0) //asegúrese de tener cuidado con la suma aquí.gt;0; de lo contrario, es posible hacer que la suma sea un múltiplo de F sin seleccionar ninguna vaca.
{
recuento
recuento=100000000
}
}
else
{
Buscar en el subárbol izquierdo
sum =rank[a]; /p>
feipan(rank, a 1, sum, N, F);
//buscar subárbol derecho
sum-=rank[a];
p>
feipan(rango, a 1, suma, N, F
}
}
);