洛谷 P1130 红牌
自用。
题目传送门:红牌 - 洛谷
题解:Inori_333
参考题解:无
/*P1130 红牌https://www.luogu.com.cn/problem/P11302024/10/25 submit:inori_333
*/#include <iostream>
using namespace std;
int n, m;//n步,m个小组
int day[2005][2005];//day[i][j]表示第i个小组第j步需要的天数/*
day[1][1]=2 day[1][2]=6 day[1][3]=1 day[1][4]=8
day[2][1]=3 day[2][2]=6 day[2][3]=2 day[2][4]=6
day[3][1]=4 day[3][2]=2 day[3][3]=3 day[3][4]=6
*/int main(){cin >> n >> m;for(int i = 1; i <= m; i++){//第i个小组for(int j = 1; j <= n; j++){//第j步cin >> day[i][j];}}for (int j = n - 1;j >= 1;j--){//从第n-1步开始for (int i = 1; i <= m;i++){int minval = 1e8;day[i][j]+=min(day[i][j+1],day[i%m+1][j+1]);}} /*cout << endl;for (int i = 1; i <= m; i++){for (int j = 1; j <= n; j++){cout << "day[" << i << "]" << "[" << j << "] = " << day[i][j] << " ";}cout << endl;}*/int ans = 1e8;for (int i = 1; i <= m;i++){ans = min(ans, day[i][1]);}cout << ans;
}