Chia nhóm bạn bè

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Chia nhóm bạn bè
Mô tả và yêu cầu

Có N người (đánh số từ 0 đến N-1), với N≤20. Một số cặp người là bạn thân với
nhau. Ta muốn chia tất cả N người thành nhiều nhóm, sao cho trong mỗi nhóm: mọi
người trong nhóm đều là bạn với nhau .

Yêu cầu: Hãy tính số cách chia nhóm thỏa mãn điều kiện trên.

Dữ liệu vào

 Dòng 1: Số nguyên N.
 Dòng 2: Số nguyên M – số cặp bạn thân.
 M dòng tiếp theo: mỗi dòng chứa 2 số u,v (0 ≤ u, v < N, u ≠ v), biểu thị rằng
người u và v là bạn thân.

Kết quả: Một số nguyên duy nhất: số cách chia nhóm hợp lệ.

Ví dụ 1:

INPUT OUTPUT Giải thích
3 5  Có 3 người, và tất cả đều là bạn với
3 nhau.
0 1  Các cách chia:
1 2 1. {0,1,2} (một nhóm duy nhất)
0 2 2. {0,1}, {2}
3. {0,2}, {1}
4. {1,2}, {0}
5. {0}, {1}, {2}

Tổng cộng: 5 cách.

Ví dụ 2:

INPUT OUTPUT Giải thích
4 4  Người 0 và 1 là bạn, người 2 và 3
2 là bạn. Không có mối quan hệ nào
0 1 khác.
2 3  Các cách chia:
1. {0,1}, {2,3}
2. {0,1}, {2}, {3}
3. {0}, {1}, {2,3}
4. {0}, {1}, {2}, {3}

Tổng cộng: 4 cách.

Tải PDF gốc


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.