#include<bits/stdc++.h> (35927)#define int long long using namespace std; int dp[1010][3]; int arr[1010][3]; int find_min(int a,int b) { int min_n=INT_MAX; for(int i=0;i<3;i++) { if(i==b) continue; else { min_n=min(min_n,dp[a-1][i]); } } return min_n; } signed main() { int n; cin>>n; for(int i=1;i<=n;i++) { int red; int blue; int yellow; cin>>red>>blue>>yellow; arr[i][0]=red; arr[i][1]=blue; arr[i][2]=yellow; } for(int i=1;i<=n;i++) { for(int j=0;j<3;j++) { dp[i][j]=find_min(i,j)+arr[i][j]; } } int min_n=INT_MAX; for(int i=0;i<3;i++) { min_n=min(dp[n][i],min_n); } cout<<min_n; }能做吗
点赞 评论

相关推荐

11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
10-28 17:30
已编辑
华东交通大学 Java
想进开水团喝开水:字节的hr的本职工作就是黄金矿工
秋招笔试记录
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务