Tôi cần phải tạo lịch biểu của sự kiện thể thao.Lập kế hoạch cạnh tranh
Có 30 đội. Mỗi đội phải chơi 8 trận. Điều này có nghĩa là không thể cho mỗi đội thi đấu lại tất cả các đội khác, nhưng tôi cần phải tránh hai đội đó thi đấu nhiều lần với nhau.
Ý tưởng của tôi là tạo tất cả các kết quả phù hợp (cho 30 đội: (30*29)/2 = 435 matches
) và chọn từ danh sách này 120 trận đấu (8 trận cho mỗi đội: 8 * 30/2 = 120 matches
).
Đây là nơi tôi đang gặp khó khăn: làm cách nào tôi có thể chọn 120 kết quả phù hợp này? Tôi đã thử một số giải pháp đơn giản (tham gia trận đấu đầu tiên của danh sách, sau đó cuối cùng, v.v.) nhưng dường như họ không làm việc với 30 đội. Tôi cũng đã cố gắng để tạo ra tất cả các kết hợp phù hợp có thể và tìm thấy một trong những đang làm việc nhưng với 30 đội, đây là quá nhiều thời gian tính toán.
Có một thuật toán hiện có mà tôi có thể triển khai không?
CẬP NHẬT
Những gì tôi cần để sản xuất là một lịch trình đơn giản, mà không cần loại bỏ. Mỗi đội chơi 8 trận, và đó là tất cả. Vào cuối ngày, sẽ không có một người chiến thắng nào.
Mỗi đội sẽ có lịch biểu của mình và lịch biểu này sẽ không thay đổi khi họ thắng hoặc thua. Việc lập kế hoạch được thực hiện cho cả ngày và không thay đổi.
UPDATE 2
Lúc đầu, tôi không muốn đặt quá nhiều trở ngại đối với câu hỏi của tôi, nhưng có vẻ như không có bất kỳ hạn chế (trừ mỗi đội không thi đấu nhiều hơn một lần với nhau) , chỉ cần chọn ngẫu nhiên 8 trận đấu cho mỗi đội.
Vì vậy, đây là một số chi tiết:
Trong sự kiện thể thao này, có 6 differents thể thao (bóng đá, bóng ném, bóng rổ, và vân vân). Điều này có nghĩa là có 6 trận đấu đồng thời. Một vòng mới được bắt đầu sau mỗi 15 phút.
Mỗi đội sẽ phải chơi 8 trận đấu và mỗi môn thể thao ít nhất một lần.
6 môn thể thao này diễn ra tại ba địa điểm khác nhau. Điều này có nghĩa là trong ngày, mỗi đội sẽ phải di chuyển từ nơi này sang nơi khác. Những động thái này nên được giảm càng nhiều càng tốt.
Một nhóm không thể chơi hai trận đấu liên tiếp.
Câu hỏi thú vị! Tôi tò mò về thuật toán nào có thể làm được điều này! Tôi hy vọng bạn nhận được câu trả lời. – Flukey
Có sự quan tâm nào trong việc giảm thiểu số vòng? Hay điều đó không liên quan? Đó là, bạn có quan tâm nếu một đội bị buộc phải đợi? – aioobe
Tôi không quan tâm nếu một đội phải đợi. Yêu cầu duy nhất là như sau: 30 đội sẽ phải chơi 8 trận đấu (không nhiều hơn không kém) trong ngày. –