[Thái Nguyên - TST - 2025] Bài 3: Sắp xếp nhân sự

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Công ty của Alice có ~n~ nhân viên được tổ chức vào ~m~ phòng ban. Nhân viên ~i~ (~1 ≤ i ≤ n~) đang thuộc phòng ban ~d_i~, mỗi phòng ban có ít nhất ~2~ người.

Có ~s~ sự phản đối, sự phản đối thứ ~k~ là ~i_k, j_k~ cho biết nhân viên ~i_k~ phản đổi nhân viên ~j_k~. Một lần sắp xếp lại nhân sự, lãnh đạo công ty sẽ chọn từ mỗi phòng ban một nhân viên và chuyển nhân viên đó sang phòng ban khác, mỗi phòng ban sau khi chuyển một nhân viên đi sẽ chỉ nhận lại một nhân viên. Nhân viên ~i~ có thể xếp vào phòng ban ~d~, nếu những người ở lại phòng ban ~d~ phản đối nhân viên ~i~ không quá bán (cụ thể, nếu còn lại ~x~ người thì số người phản đối nhỏ hơn hoặc bằng ~\frac {x}{2}~).

Yêu cầu: Đếm số lượng cách sắp xếp nhân sự.

INPUT

Dòng đầu chứa ba số nguyên không âm ~n~, ~m~, ~s~ (~1 \le n \le 200~, ~1 \le m \le 10~, ~s \le \frac {n \times (n - 1)}{2}~).

Dòng thứ hai gồm ~n~ số nguyên ~d_1, d_2, ..., d_n~ (~1 \le d_i \le m~).

Dòng thứ ~k~ (~1 ≤ k ≤ s~) trong ~s~ dòng sau chứa hai số nguyên ~i_k, j_k~.

OUTPUT

Số cách sắp xếp, chia dư cho ~10^9 + 7~.

SAMPLE INPUT 1

4 2 0
1 1 2 2

SAMPLE OUTPUT 1

4

SAMPLE INPUT 2

4 2 1
1 1 2 2
3 1

SAMPLE OUTPUT 2

3

SUBTASKS

Subtask Điểm Ràng buộc
1 ~20~ ~n \le 50~, ~m \le 5~, ~s = 0~.
2 ~30~ ~n \le 50~, ~m \le 5~.
3 ~30~ ~n \le 50~, ~m \le 10~.
4 ~20~ Không có ràng buộc gì thêm.

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.