璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup1130
problems
名称红牌
题目编号P1130
题目链接luogu.com.cn/…
来源Luogu
算法分类动态规划, 线性动态规划
难易程度容易

红牌

想法

设立状态,F[i][j]表示到第i行第j列最优值。

代码实现

#include<cstdio>
 
const int N = 2010;
int f[N][N], map[N][N];
int main() {
	int n, m;
	scanf("%d %d", &n, &m);
	for(int i=1; i<=m; i++) 
		for(int j=1; j<=n; j++) 
			scanf("%d", &map[i][j]);
	for(int i=1; i<=m; i++)
		f[i][1] = map[i][1];
 
	for(int i=2; i<=n; i++) {
		for(int j=1; j<=m; j++) {
			f[j][i] = f[j][i-1] + map[j][i];
			if(j != 1 && f[j-1][i-1] + map[j][i] < f[j][i])
				f[j][i] = f[j-1][i-1] + map[j][i];
			if(j == 1 && f[m][i-1] + map[j][i] < f[j][i])
				f[j][i] = f[m][i-1] + map[j][i];
		}
	}
	int ans = f[1][n];
	for(int i=2; i<=m; i++)
		if(f[i][n] < ans)
			ans = f[i][n];
	printf("%d", ans);
	return 0;
}
/app/www/public/data/pages/icpc/problems/luogup1130.txt · 最后更改: 2024/03/20 15:18 由 温婕莺