Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Nguoi\Viec 1 2 3
- 1 5 7 5
- 2 6 2 9
- 3 8 5 8
- procedure tim_viec(j) // Tìm việc cho người j
- begin
- for i:=1 to n do
- begin
- if việc i chưa ai làm then
- begin
- x[j]:=i; // do người j làm việc i
- // Đánh dấu việc i đã có người làm
- if j<n then
- tim_viec(j+1);
- else
- {
- Đã tìm thấy 1 phương án phân việc
- kiểm tra xem phương án này có tổng hiệu suất > phương án max không?
- nếu đúng thì đổi phương án max bằng phương án này
- (ban đầu cho phương án max=0)
- }
- end;
- end;
- end;
- {
- * Chú ý: Để ghi nhớ phương án max cần ghi nhận cách phân việc cho n người
- và tổng hiệu suất của phương án này
- * Để cụ thể cần:
- Mảng x max để ghi nghiệm của phương án max
- => Nếu thấy phương án x tốt hơn x max thì đổi bằng cách
- for i:=1 to n do xmax[i]:=x[i];
- * Hiệu suất max:=HSX;
- Cách tính hiệu suất của phân việc x
- HSX:=0;
- for i:=1 to n do
- HSX:=HSX+a[i,x[i]];
- i=1 a[1,2]=6
- i=2 a[2,3]=8
- i=3 a[3,1]=9
- }
Advertisement
Add Comment
Please, Sign In to add comment