-->
当前位置:首页 > 题库

编程题:动态规划

Luz4年前 (2022-09-05)题库268
$$Mislav$$有$$N$$个杯子,每个杯子都有水。$$Mislav$$想喝光所有的水,但他不想喝超过$$K$$杯的水。$$Mislav$$能做的就是把所有的水从一个杯子倒到另一个杯子。
不幸的是,对于$$Mislav$$来说,他选择的杯子很重要,因为并不是所有的杯子都离他一样远。更准确地说,从标有$$i$$的玻璃杯中倒水所需要的努力
到标有$$j$$的玻璃上用$$c_{ij}$$表示。。
帮助$$Mislav$$,找出把水从一个杯子倒到另一个杯子的顺序,这样努力的总和是最小的。

### 输入格式:

第一行输入包含整数$$N$$, $$K(1≤K≤N≤20)$$。
以下$$N$$行包含$$N$$个整数$$C_{ij}(0≤C ij≤10 5)$$。第$$i$$行和第$$j$$列包含值$$C_{ij}$$。它会使每个$$C_{ii}$$都等于$$0$$。

### 输出格式:

输出$$Mislav$$实现目标所需的最小努力。

### 得分:

在总共$$40$$分的测试用例中,它将保持$$N≤10$$。

### 输入样例1:

in
3 3
0 1 1
1 0 1
1 1 0


### 输出样例1:

out
0


### 输入样例2:

in
3 2
0 1 1
1 0 1
1 1 0


### 输出样例2:

out
1


### 输入样例3:

in
5 2
0 5 4 3 2
7 0 4 4 4
3 3 0 1 2
4 3 1 0 5
4 5 5 5 0


### 输出样例3:

out
5







答案:若无答案欢迎评论