thieumao

Bài phân việc - Nguoi\viec

Sep 14th, 2013
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.09 KB | None | 0 0
  1. {
  2. Nguoi\viec      1       2       3
  3.  
  4. 1               5       7       5
  5. 2               6       2       9
  6. 3               8       5       9
  7. --> Hieu suat max la 7 9 8
  8. }
  9.  
  10. uses crt;
  11. Var
  12.   a,x,xmax:array[1..7] of integer;
  13.   v: array[1..7,1..7] of integer;
  14.   i,j,m,HSX,HSMAX:integer;
  15.  
  16. procedure print;
  17. var j,k:integer;
  18. begin
  19.  HSX:=0;
  20.  for j:=1 to m do HSX:=HSX+v[j,x[j]];
  21.  if HSX>HSMAX then
  22.   begin
  23.    HSMAX:=HSX;
  24.    for k:=1 to m do xmax[k]:=x[k];
  25.   end;
  26. end;
  27.  
  28. procedure try(i:integer);
  29. var j:integer;
  30.  begin
  31.   if i>m then print else
  32.   for j:=1 to m do
  33.    if (a[j]=0) then
  34.     begin
  35.      x[i]:=j;
  36.      a[j]:=1;
  37.      try(i+1);
  38.      a[j]:=0;
  39.     end;
  40.   end;
  41.  
  42. begin
  43.  clrscr;
  44.  HSMAX:=0;
  45.  repeat
  46.   write('m= ');
  47.   readln(m);
  48.  until (m>0) and (m<8);
  49.  for i:=1 to m do
  50.  for j:=1 to m do
  51.   begin
  52.    write('v[',i,',',j,']= ');
  53.    readln(v[i,j]);
  54.   end;
  55.  try(1);
  56.  writeln('Ma tran');
  57.  for i:=1 to m do
  58.   begin
  59.    for j:=1 to m do write(v[i,j]:2);
  60.    writeln;
  61.   end;
  62.  writeln('Ket qua:');
  63.  for i:=1 to m do writeln('Nguoi ',i,' lam viec ',xmax[i]);
  64.  readln;
  65. end.
Advertisement
Add Comment
Please, Sign In to add comment