Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
GROUPING - Phân nhóm |
Để có công việc làm thêm cho những X-men, giáo sư X mở thêm trường dạy chó X-dogs. Trường có n con chó đánh số từ 1 tới n. Mỗi con chó có thể bất hòa với không quá 3 con chó khác. Giả thiết quan hệ bất hòa ở đây là quan hệ hai chiều, tức là nếu con chó a bất hòa với con chó b thì con chó b cũng bất hòa với con chó a và ngược lại.
Hàng ngày các X-men có nhiệm vụ dắt chó đi dạo. Để giúp lũ chó được thoải mái, hạn chế việc xảy ra xung đột diện rộng, các X-men muốn chia n con chó vào hai nhóm đi hai nơi khác nhau sao cho trong mỗi nhóm, mỗi con chó bất hòa với không quá 1 con chó khác.
Yêu cầu: Hãy giúp chia các con chó thành hai nhóm thỏa mãn yêu cầu trên.
Dữ liệu vào:
- Dòng đầu chứa số nguyên dương n ≤ 3×10⁵;
- Dòng thứ i trong n dòng tiếp theo chứa không quá 4 số: số đầu là số lượng những con chó bất hòa với con chó thứ i, tiếp theo là chỉ số của các con chó đó.
Dữ liệu ra:
- Dòng đầu ghi từ
YES
nếu có phương án chia n con chó vào hai nhóm thỏa mãn yêu cầu, ghi từNO
nếu không tồn tại phương án; - Trong trường hợp có tồn tại phương án chia nhóm:
- Dòng hai ghi chỉ số các con chó trong nhóm thứ nhất;
- Dòng ba ghi chỉ số các con chó trong nhóm thứ hai.
Các số trên một dòng được ghi cách nhau ít nhất một dấu cách.
Ví dụ:
Dữ liệu vào:
7
3 2 3 4
3 1 3 6
2 1 2
2 1 5
1 4
1 2
0
Dữ liệu ra:
YES
1 4 6 7
2 3 5
Được gửi lên bởi: | noname00.pas |
Ngày: | 2017-11-29 |
Thời gian chạy: | 0.100s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3 |
Nguồn bài: | Bài tập Ôn HN 01/2017 (Thầy Lê Minh Hoàng) |