#include<bits/stdc++.h>
using namespace std;
int n,l,i,j,k,a[110],d[110][110];
int main(){
while(scanf("%d",&l)&&l){
scanf("%d",&n);
memset(d,0x3f3f3f3f,sizeof(d));
d[0][1]=0;
a[0]=0;
a[n+1]=l;
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
d[i][i+1]=0;
}
for(i=n+1;i>=0;i--)
for(j=0;j<=n+1;j++)
for(k=i+1;k<j;k++)
d[i][j]=min(d[i][j],d[i][k]+d[k][j]+a[j]-a[i]);
printf("The minimum cutting is %d.\n",d[0][n+1]);
}
return 0;
}
UVA 10003 Cutting Sticks
最新推荐文章于 2021-06-22 12:50:52 发布