si se devuelve INT_MAX, entonces no es posible llegar al destino
#include
#include
- ¿Un bucle siempre tiene un punto de partida?
- ¿Cuál es la ecuación matemática correcta para el siguiente problema informático?
- ¿Cuál es la conexión entre la teoría de conjuntos avanzada y la informática teórica?
- ¿Cuáles son algunos de los temas de teoría de gráficos que necesito aprender para hacer el bien en la programación competitiva?
- ¿Es posible calcular el número de posibles lazos electorales?
usando el espacio de nombres estándar;
int mini (int a, int b, int c, int d) {
int arr [4], min = INT_MAX, i;
arr [0] = a; arr [1] = b; arr [2] = c; arr [3] = d;
para (i = 0; i <4; i ++)
if (arr [i] <min) {
min = arr [i];
}
retorno min;
}
// Función para contar el número de pasos necesarios para alcanzar un
// destino.
// fuente -> vértice fuente
// paso -> valor del último paso dado
// dest -> vértice de destino
pasos int (int source, int step, int dest, int a, int b)
{
if (abs (fuente)> (dest)) devuelve INT_MAX;
if (fuente == dest) retorno paso;
int pos = pasos (fuente + a, paso + 1, dest, a, b);
int neg = pasos (fuente-b, paso + 1, dest, a, b);
// int p2 = pasos (fuente-a, paso + 1, dest, a, b);
// int n2 = pasos (fuente-b, paso + 1, dest, a, b);
// mínimo de ambos casos
// devuelve mini (pos, neg, p2, n2);
retorno min (pos, neg);
}
int main ()
{
int dest, a, b;
cin >> a >> b >> dest;
cout << pasos (0, 0, dest, a, b);
devuelve 0;
}