Chào mọi người. Em đang học môn AI và có 1 bài tập như sau, có lời giải rồi mà e chưa có hướng code từ đâu. Mọi người giúp em với ạ
Tại một cửa hàng sách mới, mới nhập về 12 cuốn sách thuộc các loại sau:
- Truyện cười : A,C,D,G
- Âm nhạc: B,H,K
- Lịch sử : E,J,L
- Khoa học: F, I
Hãy sắp xếp các quyển sách này vào kệ sao cho số kệ sử dụng là ít nhất mà tuân theo các yêu cầu sau:
- Các quyển sách cùng loại không được để chung cùng kệ
- Quyển A không để chung với sách khoa học
- Quyển L không để chung với sách âm nhạc.
Hãy xây dựng bài toán một cách tổng quát với số loại, số sách của mỗi loại và các rule nhập vào từ 1 file (tức là có thể nhập số loại, số sách và rule tùy ý theo yêu cầu)
Với dữ liệu bài toán đã cho được mô tả trong file input.txt như sau:
- Dòng đầu số thể loại và số cuốn sách
- Các dòng tiếp theo là các thể loại được đánh số từ 1 trở đi và số loại sách của từng thể loại cách nhau bởi dấu ,
- Dòng tiếp theo là số luật (Không tính Luật Các quyển sách cùng loại không được để chung cùng kệ- Đây là luật chung cho mọi bài)
Các luật tiếp theo loại nào không trong thể loại nào được nhập theo cú pháp như ví dụ ở dưới.
Input.txt
4 12 1: A,C,D,G 2: B,H,K 3: E,J,L 4: F, I 2 A not in 4 L not in 2
Và đây là lời giải trên giấy ạ:
Em muốn thực hiện code bài này trên python, đổi file txt thành ma trận kề luôn. Phần tính bậc của đỉnh thì duyệt for nếu là 1 thì + đỉnh lên 1. Nhưng tới phần tô màu thì em chưa biết làm thế nào ạ. Các anh giúp em với ạ. Waiting