AC

Bryson  •  21天前


#include <bits/stdc++.h>
using namespace std;
int dp[2005][2005];
int a[2005][2005];
int main() {
    std::ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
    int m,n;
    cin>>m>>n;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=m;j++)
    		cin>>a[i][j];
	}
//	for(int i=1;i<=n;i++)
//		dp[1][i]=a[i][1];
	for(int j=1;j<=m;j++){
		for(int i=1;i<=n;i++){
			dp[j][i] = min(dp[j - 1][i],(i == 1 ? dp[j - 1][n] : dp[j - 1][i - 1])) + a[i][j];
		}
	}
	int minn=INT_MAX;
	for(int i=1;i<=n;i++){
		minn=min(minn,dp[m][i]);
	}
//	for(int i=1;i<=n;i++){
//		for(int j=1;j<=m;j++)
//			cout<<dp[j][i]<<" ";
//		cout<<'\n';
//	}
//		
	cout<<minn;
	return 0;
}


评论:

请先登录,才能进行评论