瑞瑞 • 10小时前
using namespace std; long long dp[300001][11]; long long a[11][300001]; long long n,k,sum=1e9; int main(){ cin>>n>>k; memset(dp,0x3f,sizeof dp); for(int i=1;i<=k;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
} for(int i=1;i<=k;i++){
dp[1][i]=a[i][1];
} for(int i=2;i<=n;i++){
for(int j=1;j<=k;j++){
for(int l=1;l<=k;l++){
if(j!=l)dp[i][j]=min(dp[i][j],dp[i-1][l]+a[j][i]);
}
}
} for(int i=1;i<=k;i++){
sum=min(sum,dp[n][i]);
} cout<<sum; return 0; }
评论:
请先登录,才能进行评论