洛谷 P1130 红牌 (尚贤)

题目:https://www.luogu.com.cn/problem/P1130

代码:

/*
看到那么多人写顺推,还没有一个人写逆推,我就来贡献一下吧滑稽
题目中说的是小组 “I更换到小组I+1,当然从小组M可以更换到小组1”逆推就变成了“I更换到小组I-1,当然从小组1可以更换到小组M”这是不用证明的,自己手推一下样例就行了QAQ
从倒数第2步考虑,取两种方案中最小的一种,然后一直做到第一步,找最小值
*/
#include <iostream>
#include <cstdio>
#define INF 0x3f3f3f3f
#define BIG_INF 0x7fffffff
#define min(a, b) ((a < b) ? a : b)
#define max(a, b) ((a > b) ? a : b)
#define Cint const int
#define SIZE (int)2e3 + 10
using namespace std;
int dp[SIZE][SIZE];

void print_dp(Cint &, Cint &);
int main() {
	freopen("cpp.in", "r", stdin);
	freopen("cpp.out", "w", stdout);
	int n, m, ans = BIG_INF;
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= m; ++i) {
		for (int j = 1; j <= n; ++j) {
			scanf("%d", &dp[j][i]); // 第j天,第i个小组 
		}
	}
	for (int i = n - 1; i >= 1; --i) {
		for (int j = 1; j <= m; ++j) {
			dp[i][j] += min(dp[i + 1][j], ((j == m) ? dp[i + 1][1] : dp[i + 1][j + 1]));
			if (i == 1) {
				ans = min(ans, dp[i][j]);
			}
		}
	}
	printf("%d\n", ans);
	return 0;
}

 

微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值