thieumao

Mã giả bài phân việc môn Cấu Trúc

Sep 12th, 2013
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.16 KB | None | 0 0
  1. Nguoi\Viec  1   2   3
  2. 1           5   7   5
  3. 2           6   2   9
  4. 3           8   5   8
  5.  
  6. procedure tim_viec(j) // Tìm việc cho người j
  7. begin
  8.     for i:=1 to n do
  9.         begin
  10.             if việc i chưa ai làm then
  11.                 begin
  12.                     x[j]:=i; // do người j làm việc i
  13.                     // Đánh dấu việc i đã có người làm
  14.                     if j<n then
  15.                         tim_viec(j+1);
  16.                     else
  17.                         {
  18.                             Đã tìm thấy 1 phương án phân việc
  19.                             kiểm tra xem phương án này có tổng hiệu suất > phương án max không?
  20.                             nếu đúng thì đổi phương án max bằng phương án này
  21.                             (ban đầu cho phương án max=0)
  22.                         }
  23.                 end;
  24.         end;
  25. end;
  26.  
  27. {
  28.     * Chú ý: Để ghi nhớ phương án max cần ghi nhận cách phân việc cho n người
  29.     và tổng hiệu suất của phương án này
  30.    
  31.     * Để cụ thể cần:
  32.     Mảng x max để ghi nghiệm của phương án max
  33.     => Nếu thấy phương án x tốt hơn x max thì đổi bằng cách
  34.         for i:=1 to n do xmax[i]:=x[i];
  35.        
  36.     * Hiệu suất max:=HSX;
  37.     Cách tính hiệu suất của phân việc x
  38.         HSX:=0;
  39.         for i:=1 to n do
  40.             HSX:=HSX+a[i,x[i]];
  41.            
  42.         i=1 a[1,2]=6
  43.         i=2 a[2,3]=8
  44.         i=3 a[3,1]=9
  45. }
Advertisement
Add Comment
Please, Sign In to add comment