Chia nhóm học (Groups)
Đề bài
Mô tả
Có học sinh ( chẵn) tham gia một khoá học. Cần chia toàn bộ học sinh thành hai nhóm có số lượng bằng nhau ( người mỗi nhóm). Mỗi nhóm sẽ học vào đúng một ngày trong tuần, chọn từ 5 ngày làm việc (thứ Hai đến thứ Sáu), và hai nhóm phải học vào hai ngày khác nhau.
Mỗi học sinh điền sẵn lịch cho biết những ngày nào trong tuần là thuận tiện đối với mình. Học sinh được xếp vào nhóm chỉ khi ngày học của nhóm thuận tiện cho học sinh đó.
Hãy xác định xem có tồn tại cách chọn hai ngày khác nhau và phân chia học sinh thành hai nhóm bằng nhau sao cho mọi học sinh đều được xếp vào nhóm có ngày học hợp lệ hay không.
Dữ liệu vào
- Dòng đầu chứa số nguyên () — số bộ dữ liệu.
- Với mỗi bộ:
- Dòng đầu chứa số nguyên chẵn () — số học sinh.
- dòng tiếp theo, mỗi dòng chứa số hoặc . Số thứ ở dòng thứ bằng nếu học sinh có thể học vào ngày thứ trong tuần, bằng nếu không.
- Với mỗi học sinh có ít nhất một ngày thuận tiện. Tổng trên tất cả các bộ dữ liệu không vượt quá .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra "YES" nếu có thể chia hợp lệ, ngược lại in ra "NO".
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 4 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 2 0 0 0 1 0 0 0 0 1 0 |
YES NO |
Bộ 1: chọn nhóm 1 học thứ Năm (gồm học sinh 1 và 3), nhóm 2 học thứ Ba (gồm học sinh 2 và 4). Bộ 2: cả hai học sinh chỉ rảnh thứ Năm, không thể chia ra hai ngày khác nhau. |
| 1 2 1 0 0 0 0 0 1 0 0 0 |
YES | Hai học sinh, mỗi người rảnh đúng một ngày khác nhau — chia thẳng mỗi người một nhóm. |
Bình luận