Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
149166 唐钧 切割铜棒 C++ 通过 100 4 MS 4948 KB 581 2024-05-25 16:59:28

Tests(5/5):


#include <bits/stdc++.h> using namespace std; int n,l,cut[1097],dp[1097][1097]; int main() { while(1) { cin>>l>>n; if(l==0)return 0; for(int i=1;i<=n;i++) { cin>>cut[i]; } cut[0]=0; cut[n+1]=l; memset(dp,127/2,sizeof dp); for(int i=0;i<=n;i++) { dp[i][i+1]=0; } for(int i=2;i<=n+1;i++) { for(int s=0;s+i<=n+1;s++) { for(int k=s+1;k<s+i;k++) { dp[s][s+i]=min(dp[s][s+i],dp[s][k]+dp[k][s+i]+cut[s+i]-cut[s]); } } } cout<<"The minimum cutting is "<<dp[0][n+1]<<'.'<<endl; } return 0; }


测评信息: