日志

H学校开展程序设计实训项目,项目共包括n个模块(编号为1~n),按照编号顺序依次进行培训。y老师决定把程序设计实训项目交给dr公司的三位讲师ta, tb, tc讲授,每个模块可以由其中一位讲师讲授,需要对应的培训费。y老师考虑到讲师培训辛苦,所以决定相邻两个模块不能由同一位讲师讲授,即:第1与第2个模块不是同一位讲师,第n个模块与第n-1个模块不是同一位讲师,第i< < n)个模块与第i - 1个模块和第i + 1个模块不是同一个位讲师。现在要将项目的n个模块安排合适的讲师,问所有的模块都安排合适的讲师之后最少的总培训费?

#include <iostream>

#include <algorithm>

using namespace std;

int main() {

int n;

cin>>n;

int a[n][3];

for (int i = 0; i < n; i++) {

cin>>a[i][0]>>a[i][1]>>a[i][2];

}

int dp[n][3];

dp[0][0] = a[0][0];

dp[0][1] = a[0][1];

dp[0][2] = a[0][2];

for (int i = 1; i < n; i++) {

dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + a[i][0];

dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + a[i][1];

dp[i][2] = min(dp[i-1][0], dp[i-1][1]) + a[i][2];

}

int result = min({dp[n-1][0], dp[n-1][1], dp[n-1][2]});

cout<<result;

return 0;

}

全部评论

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:20
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务