Este es el problema:
Así es como lo hago:
- ¿Cómo se prueba algo (desde cero) que es NP-hard?
- Coloque números de cinco bits en los vértices de un hipercubo de 9 dimensiones de modo que, desde cualquier vértice, pueda alcanzar cualquier número en no más de dos movimientos a lo largo de los bordes del hipercubo.
- ¿Cómo se usan las matemáticas discretas en el aprendizaje automático?
- ¿Qué puede hacer un ingeniero con la informática teórica?
- ¿Existe un algoritmo para fusionar dos árboles rojo-negros con una complejidad menor que O (n + m)?
clase pública Quora_Answer {
public static void main (String [] args) {
int num_1s = Integer.parseInt (args [0]);
int num_bits = Integer.parseInt (args [1]);
System.out.println (“Método 1”);
soln_1 (num_1s, num_bits);
System.out.println ();
}
vacío estático privado soln_1 (int num_1s, int num_bits) {
int [] bit_counts = {num_bits – num_1s, num_1s};
int [] contador = {1};
soln_1_helper (nueva ArrayList (), bit_counts, num_bits, counter);
}
private static void soln_1_helper (List pattern, int [] bit_counts, int num_bits, int [] counter) {
if (pattern.size () == num_bits) {
print_pattern (patrón, contador [0] ++);
regreso;
}
para (int i = 1; i> = 0; i–) {
if (bit_counts [i]> 0) {
bit_counts [i] -;
pattern.add (i);
soln_1_helper (patrón, bit_counts, num_bits, counter);
pattern.remove (pattern.size () – 1);
bit_counts [i] ++;
}
}
}
private static void print_pattern (patrón List , int counter) {
System.out.printf (“% 7d:”, contador);
para (int i: patrón) {
System.out.print (i + “”);
}
System.out.println ();
}
}
Salida de muestra:
java Quora_Answer 1 16
Método 1
1: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3: 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
4: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
5: 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
6: 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
7: 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
8: 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
9: 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
10: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
11: 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
12: 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
13: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
14: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
15: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
16: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
java Quora_Respuesta 4 6
Método 1
1: 1 1 1 1 0 0
2: 1 1 1 0 1 0
3: 1 1 1 0 0 1
4: 1 1 0 1 1 0
5: 1 1 0 1 0 1
6: 1 1 0 0 1 1
7: 1 0 1 1 1 0
8: 1 0 1 1 0 1
9: 1 0 1 0 1 1
10: 1 0 0 1 1 1
11: 0 1 1 1 1 0
12: 0 1 1 1 0 1
13: 0 1 1 0 1 1
14: 0 1 0 1 1 1
15: 0 0 1 1 1 1
java Quora_Answer 2 4
Método 1
1: 1 1 0 0
2: 1 0 1 0
3: 1 0 0 1
4: 0 1 1 0
5: 0 1 0 1
6: 0 0 1 1