[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

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.