[DHBB17 - CLS - 10] Bài 3: Xếp nhóm
Xem dạng PDF
Gửi bài giải
Điểm:
10,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
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Một lớp học có ~n~ học sinh. Việc đánh giá một thí sinh thông qua ~m~ tiêu chí. Học sinh ~U~ có đánh giá ~m~ tiêu chí tương ứng là ~u_1, u_2, \dots, u_m~ và học sinh ~v~ có đánh giá ~m~ tiêu chí tương ứng là ~v_1, v_2, \dots, v_m~, hai học sinh ~u~ và ~v~ được gọi là so sánh được với nhau nếu ~u_i \ge v_i~ (~i = 1 \dots m~) hoặc ~u_i \le v_i~ (với mọi ~i = 1 \dots m~).
Cô giáo muốn xếp ~n~ học sinh thành ~k~ nhóm học tập thoả mãn điều kiện: Mỗi nhóm có ít nhất một học sinh và hai học sinh trong cùng một nhóm không so sánh được với nhau.
Yêu cầu: Cho đánh giá của từng thí sinh và số nhóm ~k~, hãy xếp ~n~ học sinh thành ~k~ nhóm thoả mãn điều kiện trên.
Input
- Dòng đầu tiên ghi ba số ~n, m, k~ (~k \le n \le 2000~, ~m \le 10~).
- ~n~ dòng tiếp theo, dòng thứ ~i~ gồm ~m~ số nguyên không vượt quá ~10^9~ là đánh giá của học sinh thứ ~i~.
Output
- Nếu tồn tại cách chia thì ghi ra một phương án theo quy cách: gồm ~k~ dòng, dòng thứ ~i~ ghi chỉ số của những học sinh được xếp vào nhóm thứ ~i~.
- Nếu không có cách chia nhóm thì ghi duy nhất số -1.
Sample Input 1
4 3 3
1 1 1
1 2 3
2 2 2
2 1 1
Sample Output 1
1
2 3
4
Bình luận