QOJ.ac

QOJ

时间限制: 1 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#18704. Điều tra dịch tễ

统计

Năm 2020, một dịch bệnh mới bùng phát và cơ quan kiểm soát dịch bệnh của quốc gia UCPC đang tiến hành điều tra dịch tễ học. Dân số của quốc gia UCPC là $N$ người, với số định danh cư dân lần lượt là $1, 2, \dots, N$.

Cơ quan kiểm soát dịch bệnh đã xác định được rằng cho đến nay đã có $M$ cuộc họp diễn ra. Mỗi cuộc họp có $k$ người tham gia, với số định danh cư dân của những người tham gia là $a_1, a_2, \dots, a_k$.

Vì dịch bệnh chỉ lây lan trong không gian kín và tiếp xúc gần, nó bắt buộc chỉ lây lan trong các cuộc họp. Quy tắc lây lan của dịch bệnh như sau:

  • Nếu có ít nhất một người tham gia cuộc họp đã bị nhiễm bệnh, thì tất cả những người tham gia cuộc họp đó đều bị nhiễm bệnh.
  • Nếu không có ai trong cuộc họp bị nhiễm bệnh, thì không có chuyện gì xảy ra.

Dựa trên dữ liệu thu thập được, cơ quan kiểm soát dịch bệnh muốn dự đoán những người nhiễm bệnh ban đầu. Với thông tin về các cuộc họp và tình trạng nhiễm bệnh của mọi người sau khi $M$ cuộc họp kết thúc, hãy viết chương trình truy vết những người đã bị nhiễm bệnh trước khi cuộc họp đầu tiên diễn ra. Giả định rằng không có con đường lây lan nào khác ngoài các quy tắc trên và dịch bệnh không tự khỏi.

Dữ liệu vào

Dòng đầu tiên chứa số người $N$ và số cuộc họp $M$ ($2 \le N \le 100\,000$, $1 \le M \le 100\,000$).

Từ dòng thứ hai trở đi, $M$ dòng tiếp theo chứa thông tin về các cuộc họp theo thứ tự thời gian. Mỗi dòng chứa số người tham gia cuộc họp $k$ ($2 \le k \le N$) và số định danh cư dân của những người tham gia $a_i$ ($1 \le a_i \le N$, $a_i \neq a_j$). Không có trường hợp nhiều cuộc họp diễn ra cùng lúc.

Dòng cuối cùng chứa thông tin nhiễm bệnh của $N$ người. Nếu người có số định danh $i$ bị nhiễm bệnh sau khi cuộc họp cuối cùng kết thúc, giá trị là $1$, ngược lại là $0$. Lưu ý rằng có thể không có ai bị nhiễm bệnh.

Tổng các giá trị $k$ không vượt quá $1\,000\,000$.

Dữ liệu ra

Nếu không thể truy vết những người đã bị nhiễm bệnh trước khi các cuộc họp diễn ra, hãy in ra NO.

Nếu có thể, hãy in ra YES ở dòng đầu tiên, và ở dòng thứ hai, in ra $N$ số nguyên cách nhau bởi dấu cách biểu thị thông tin nhiễm bệnh. Trong đó, số thứ $i$ là $1$ nếu người có số định danh $i$ đã bị nhiễm bệnh trước khi cuộc họp đầu tiên bắt đầu, và $0$ nếu ngược lại. Nếu có nhiều trạng thái nhiễm bệnh khả thi, bạn có thể in ra bất kỳ trạng thái nào trong số đó.

Ví dụ

Ví dụ 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

Ví dụ 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.