QOJ.ac

QOJ

時間限制: 2.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#17672. 3-SAT

统计

Busy Beaver está intentando entrar al MIT. En lugar de tomar el SAT, piensa que puede hacerlo mejor — tres veces mejor, mientras se propone resolver 3-SAT. Ha encontrado una solución verdaderamente maravillosa, pero desafortunadamente, los márgenes de su solicitud eran demasiado estrechos para contenerla. Así que, se le ocurrió su propia versión del problema, pero necesita tu ayuda para resolverla:

Sean $n, m$ enteros positivos. Hay $n$ variables $x_1, \dots, x_n$ que toman valores en $\{0, 1\}$. Una cláusula es un producto de tres variables $x_a \cdot x_b \cdot x_c$ con índices $1 \leq a \leq b \leq c \leq n$. Se te da una expresión que es una suma de $m$ cláusulas de este tipo. Por ejemplo, una de estas expresiones con cuatro variables y tres cláusulas podría ser:

$$x_1 \cdot x_2 \cdot x_3 + x_1 \cdot x_3 \cdot x_4 + x_2 \cdot x_3 \cdot x_4$$

Determina si es posible elegir los valores $x_1, \dots, x_n$ de tal manera que la expresión resultante sea impar.

Entrada

Cada prueba contiene múltiples casos de prueba. La primera línea contiene el número de casos de prueba $t$ ($1 \leq t \leq 10^5$).

La descripción de los casos de prueba sigue a continuación.

La primera línea de cada caso de prueba contiene dos enteros $n, m$ ($1 \leq n, m \leq 10^5$).

Las siguientes $m$ líneas de cada caso de prueba describen cada una de las cláusulas en la suma. La $i$-ésima de ellas consiste en tres enteros separados por espacios $a_i, b_i, c_i$ ($1 \leq a_i \leq b_i \leq c_i \leq n$), lo que denota que la $i$-ésima cláusula de la suma es $x_{a_i} \cdot x_{b_i} \cdot x_{c_i}$.

Se garantiza que la suma de $n$ y la suma de $m$ sobre todos los casos de prueba no exceden $10^5$.

Salida

Para cada caso de prueba, imprime una línea que contenga la cadena YES si existe una configuración de las $x_i$ para hacer que la expresión sea impar, y NO en caso contrario. Puedes imprimir cada letra en cualquier combinación de mayúsculas y minúsculas. Por ejemplo, yes, Yes, YeS serán reconocidas como una respuesta positiva.

Luego, si respondiste con YES, imprime una segunda línea que consista en enteros separados por espacios $x_1, \dots, x_n$ ($x_i = 0$ o $1$) que hagan que la expresión se evalúe como un número impar. Si hay múltiples soluciones posibles, imprime cualquiera de ellas.

Subtareas

Recibirás el 50% de los puntos por cada subtarea si las respuestas YES/NO son correctas, pero los valores proporcionados de $x_i$ no lo son. Para cada caso de prueba, debes imprimir exactamente $n$ valores de $x_i$ para obtener crédito parcial.

  • (50 puntos): Dentro de cada cláusula, ninguna variable aparece más de una vez, es decir, $a_i < b_i < c_i$.
  • (50 puntos): Sin restricciones adicionales.

Ejemplos

Entrada 1

2
4 3
1 2 3
1 3 4
2 3 4
3 2
1 2 3
1 2 3

Salida 1

YES
1 1 1 1
NO

Nota

El primer caso de prueba es idéntico al ejemplo en el enunciado del problema. En esta expresión, establecer todas las variables en 1 hace que la expresión sea igual a $1 + 1 + 1 = 3$, lo cual es impar.

En el segundo caso de prueba, la expresión dada es $x_1 \cdot x_2 \cdot x_3 + x_1 \cdot x_2 \cdot x_3$. Se puede demostrar que ninguna configuración de $x_1, x_2, x_3$ hace que esta expresión sea impar.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.