1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int f[110][110],sv[110][110]; int main() { memset(sv,0,sizeof(sv)); int n,m;scanf("%d%d",&m,&n); for(int i=1;i<=n;i++) { int x,y,c;scanf("%d%d%d",&x,&y,&c);if(x>y)swap(x,y); for(int xi=x;xi>=1;xi--)for(int yi=y;yi<=m;yi++)sv[xi][yi]+=c; } memset(f,0,sizeof(f)); int k;scanf("%d",&k); for(int ki=1;ki<=k;ki++) { for(int ed=ki;ed<=m;ed++) { for(int st=ed;st>=ki;st--)//[st,ed]表示第ki个人观光的范围 { f[ki][ed]=max(f[ki][ed],f[ki-1][st-1]+sv[st][ed]); } } } printf("%d\n",f[k][m]); return 0; }
- 1
信息
- ID
- 249
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 59
- 已通过
- 37
- 上传者