1 条题解
-
0
Pascal :
var n, i, j, min : longint; a : array[1..17,1..17] of longint; b : array[1..17] of boolean; procedure dfs(x, sum : longint); var i : longint; begin if sum >= min then exit; if x > n then begin if sum < min then min := sum; exit; end; for i := 1 to n do if b[i] then begin b[i] := false; dfs(x+1, sum+a[x,i]); b[i] := true; end; end; begin readln(n); for i := 1 to n do begin for j := 1 to n do begin read(a[i,j]); a[i,j] := 1000 - a[i,j]; end; readln; end; min := maxlongint; fillchar(b, sizeof(b), true); dfs(1, 0); writeln(n*1000-min); end.
- 1
信息
- ID
- 1440
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者