Preguntas de práctica del sitio web oficial de la Copa Blue Bridge (Li Bai bebiendo)

Descripción de la pregunta

Esta pregunta es para completar espacios en blanco, solo necesita calcular el resultado y usar la declaración de salida en el código para generar el resultado completo.

Se dice que al gran poeta Li Bai le gustaba beber toda su vida. Menos mal que nunca conduce.

Un día salió de casa llevando una jarra de vino con 2 medidas de vino dentro. Mientras caminaba cantaba:

Estaba caminando por la calle sin nada que hacer, cargando una olla para conseguir vino. Duplica la cantidad en cada tienda y bebe un balde lleno de flores.

En el camino, se encontró con una tienda 5 veces y flores 1010. Se sabe que la última vez que encontró una flor fue una flor y se bebió todo el vino.

Calcule el orden en que Li Bai conoció la tienda y la flor. Puede registrar la tienda como a y la flor como b. Entonces: babaabbabbbabbbb es el orden razonable. ¿Cuántas respuestas como esta hay en total? Cuente el número de todas las soluciones posibles (incluidas las que figuran en la pregunta).

restricciones operativas

  • Tiempo máximo de funcionamiento: 1s
  • Memoria máxima en funcionamiento: 128M
import java.util.Scanner;

public class Main {
  static int ans=0;
    public static void main(String[] args) {
        dfs(2,0,0);
        System.out.println(ans);
    }
    public static void dfs(int jiu,int dian,int hua){
      if(jiu==1&&dian==5&&hua==9){  //最后一次一定是花,如果jiu==0,hua==10会
        ans++;                      //出现很多种情况,不一定最后一次是花
      }
      if(dian<5){
        dfs(jiu*2,dian+1,hua);
      }
      if(hua<10){
        dfs(jiu-1,dian,hua+1);
      }
    }
}

Supongo que te gusta

Origin blog.csdn.net/s44Sc21/article/details/132776129
Recomendado
Clasificación