CF416B 1300
题意
解析
f[i][j]代表第i幅画最后一次被j画了所花的时间,受到两个的限制,画当前这个画的前一个画家画完了,当前这个画家画完了前面那张画了,取max。
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e4 + 10,M = 1e6 + 10;
int t[N][10],n,m,a[N],b[N],s[N],f[N][10];
int main(){
scanf("%d %d",&m,&n);
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
scanf("%d",&t[i][j]);//第j个画家画第i幅画
}
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
f[i][j] = max(f[i][j-1] + t[i][j],f[i-1][j] + t[i][j]);
}
}
for(int i=1;i<=m;i++){
printf("%d ",f[i][n]);
}
// f[i][j] 第i幅画最后一次被j画了所花的时间
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】