QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#18704. Investigación epidemiológica

Statistiques

En 2020, una nueva enfermedad infecciosa se ha propagado y el Centro de Control de Enfermedades de UCPC está realizando una investigación epidemiológica. La población de UCPC es de un total de $N$ personas, a las cuales se les han asignado números de identificación del $1, 2, \dots, N$.

El Centro de Control de Enfermedades ha determinado que hasta ahora han ocurrido $M$ reuniones. Cada reunión contó con la participación de $k$ personas, identificadas por sus números de identificación $a_1, a_2, \dots, a_k$.

Dado que la enfermedad solo se transmite en espacios cerrados y confinados, esta se propaga exclusivamente durante las reuniones. Las reglas de propagación de la enfermedad son las siguientes:

  • Si una o más personas que participaron en una reunión estaban infectadas con la enfermedad, todas las personas que participaron en dicha reunión resultan infectadas.
  • Si ninguna persona infectada participó en la reunión, no ocurre nada.

El Centro de Control de Enfermedades desea predecir quiénes fueron los infectados iniciales basándose en los datos obtenidos. Dada la información de las reuniones y el estado de infección de las personas después de que las $M$ reuniones han concluido, escriba un programa que realice una búsqueda retrospectiva para determinar quiénes estaban infectados antes de la primera reunión. Se asume que no existen otras vías de transmisión de la enfermedad ni casos de recuperación.

Entrada

La primera línea contiene el número de personas $N$ y el número de reuniones $M$ ($2 \le N \le 100\,000$, $1 \le M \le 100\,000$).

A partir de la segunda línea, se proporcionan $M$ líneas con la información de las reuniones en orden cronológico. Cada línea contiene el número de personas que participaron en la reunión $k$ ($2 \le k \le N$) y los números de identificación de los participantes $a_i$ ($1 \le a_i \le N$, $a_i \neq a_j$). No hay casos en los que varias reuniones ocurran simultáneamente.

La última línea contiene la información de infección de las $N$ personas. Si la persona con el número de identificación $i$ está infectada después de la última reunión, se proporciona un $1$; de lo contrario, se proporciona un $0$. Tenga en cuenta que es posible que no haya personas infectadas.

La suma de los valores de $k$ no supera $1\,000\,000$.

Salida

Si no es posible realizar una búsqueda retrospectiva de las personas infectadas antes de las reuniones, imprima NO.

De lo contrario, imprima YES en la primera línea y, en la segunda línea, imprima $N$ enteros separados por espacios que representen la información de infección. El $i$-ésimo número debe ser $1$ si la persona con el número de identificación $i$ estaba infectada antes de que comenzara la primera reunión, y $0$ en caso contrario. Si existen múltiples estados de infección posibles, puede imprimir cualquiera de ellos.

Ejemplos

Ejemplos 1

7 3
3 1 2 3
3 3 4 5
3 5 6 7
0 0 1 1 1 1 1
YES
0 0 0 1 1 1 1

Ejemplos 2

7 3
3 1 2 3
3 3 4 5
3 5 6 7
1 0 1 0 1 0 1
NO

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.