Este es un problema de salida única. En otras palabras, los casos de prueba están a tu disposición y deberás calcular las respuestas en tu propia máquina y enviarlas como un archivo de texto, en lugar de enviar un programa.
Busy Beaver comenzó su tarea de matemáticas unas pocas horas antes de la fecha de entrega (¡no hagas eso!). Hay $100$ preguntas en la tarea; ¿cuántas de ellas puede resolver Busy Beaver antes de que termine el concurso?
Cada pregunta es un conjunto de ecuaciones simultáneas (consulta el formato de entrada para obtener más detalles sobre cómo se ven estas ecuaciones). La tarea consiste en encontrar soluciones de enteros positivos para tantos de estos conjuntos como sea posible. Cada conjunto vale un punto, para un total de $100$ puntos.
Entrada
Por favor, descarga los datos de prueba usando desde el archivo adjunto.
Cada conjunto de ecuaciones comienza con una línea con dos números: el número de variables, $N$, en las ecuaciones (representadas por esta cantidad de letras iniciales del alfabeto), y el número de ecuaciones, $K$, presentes. Esto es seguido por $K$ líneas, cada una con una ecuación.
Cada término en el lado izquierdo de la ecuación tiene el formato simple de [coeficiente entero positivo, a lo sumo 1000][lista de a lo sumo 6 variables]; el lado izquierdo es siempre simplemente una suma de a lo sumo $20$ de estos términos (separados por signos más: ningún término tiene un coeficiente negativo), y el lado derecho es siempre un entero positivo. No se utilizan exponentes; por ejemplo, $a^2bc$ puede escribirse como aabc o caab.
Cada conjunto de ecuaciones tiene una solución donde ninguna variable excede $10^{12}$. Las ecuaciones fueron generadas usando un método aleatorio simple, no destinado a causar un comportamiento de peor caso en ningún algoritmo.
Salida
Primero imprime un entero positivo, $A$ ($1 \le A \le 100$), en su propia línea: la cantidad de ecuaciones que has resuelto.
Luego imprime $A$ líneas, cada una conteniendo el índice del conjunto que resolviste (del $1$ al $100$), seguido por una lista de enteros positivos separados por espacios: los valores para las variables, en orden alfabético.
Por ejemplo, si resolviste el conjunto de ecuaciones $5$ y la respuesta fue $a = 1234$, $b = 5678$, y resolviste el conjunto de ecuaciones $10$ y la respuesta fue $a = 123$, $b = 456$, $c = 789$, tu archivo de salida podría ser el siguiente:
2 5 1234 5678 10 123 456 789
Cada conjunto de ecuaciones puede aparecer listado como máximo una vez como índice. Tus $A$ soluciones no tienen que estar en ningún orden en particular (por lo que podrías poner la solución al conjunto $10$ antes que la del conjunto $5$). Si hay múltiples soluciones, imprime cualquier solución donde todas las variables sean como máximo $10^{18}$ (aunque, como se mencionó anteriormente, todos los conjuntos tienen soluciones donde todas las variables son como máximo $10^{12}$).
Puntuación
Si el formato de tu salida es inválido, o si alguna solución que proporcionaste para cualquier conjunto de ecuaciones es incorrecta, recibirás cero puntos. De lo contrario, recibirás $A$ puntos.
Para ayudarte a diseñar tu algoritmo, proporcionamos la siguiente información sobre los $100$ conjuntos de ecuaciones, donde $M$ es un número tal que el conjunto tiene una solución donde todas las variables son como máximo $M$:
- Conjuntos 1-2: $N=1, K=1, M=10$
- Conjuntos 3-7: $N=1, K=1, M=10^{12}$
- Conjuntos 8-9: $N=2, K=2, M=10^{3}$
- Conjuntos 10-12: $N=2, K=2, M=10^{6}$
- Conjuntos 13-20: $N=2, K=2, M=10^{12}$
- Conjuntos 21-24: $N=3, K=3, M=10^{3}$
- Conjuntos 25-33: $N=3, K=3, M=10^{6}$
- Conjuntos 34-40: $N=3, K=3, M=10^{12}$
- Conjuntos 41-57: $N=3, K=2, M=10^{7}$
- Conjuntos 58-60: $N=2, K=1, M=10^{7}$
- Conjuntos 61-70: $N=2, K=1, M=10^{9}$
- Conjuntos 71-83: $N=2, K=1, M=10^{10}$
- Conjuntos 84-92: $N=2, K=1, M=10^{11}$
- Conjuntos 93-100: $N=2, K=1, M=10^{12}$