Phân công công việc

Xem dưới dạng PDF

Gửi bài giải


Điểm: 28
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 64M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Công ty của Bảo có \(N\) nhân viên và N công việc khác nhau. Mỗi nhân viên chỉ làm đúng 1 việc, mỗi việc chỉ giao cho 1 người. Ma trận \(\text{cost}[i][j]\) là chi phí khi giao việc j cho nhân viên \(i\).

Hãy dùng phương pháp Quy hoạch động trạng thái Bitmask (\(dp[mask] = chi phí nhỏ nhất để hoàn thành tập các công việc tương ứng với các bit 1 trong mask\)) để tìm tổng chi phí phân công nhỏ nhất.

Định dạng đầu vào

  • Dòng 1: Số nguyên \(N\) (\(1 \le N $\le 15\)).
  • \(N\) dòng tiếp theo: mỗi dòng gồm N số nguyên \(\text{cost}[i][j]\) (\(1 \le \text{cost}[i][j] $\le 100\)).

Định dạng đầu ra

  • Một số nguyên duy nhất là tổng chi phí nhỏ nhất tìm được.

Ví dụ

Input:

3
4 1 6
2 5 3
7 8 9

Output:

11

Giải thích: Phân công người 1 làm việc 2 (chi phí 1), người 2 làm việc 1 (chi phí 2), người 3 làm việc 3 (chi phí 8). Tổng chi phí: \(1 + 2 + 8 = 11\).

Ràng buộc & Subtasks

Subtask Điểm Ràng buộc
1 30 \(1 \le N $\le 8\)
2 70 \(1 \le N $\le 15\)

Nhận xét

Không có ý kiến tại thời điểm này.