标签:std return 个数 ++ algo int 之间 car print
1 #include <algorithm> 2 #include <cstdio> 3 4 struct med{ 5 int t1,t2,w; 6 }a[101]; 7 8 int t,n,ans,f[101][101][101]; 9 #define max(x,y) (x>y?x:y) 10 11 bool cmp(med x,med y){ 12 if(x.t1==y.t1)return x.t2<y.t2; 13 return x.t1<y.t1; 14 } 15 16 int main(void){ 17 scanf("%d%d",&t,&n); 18 for(int i=1;i<=n;++i) 19 scanf("%d%d%d",&a[i].t1,&a[i].t2,&a[i].w); 20 std::sort(a+1,a+n+1,cmp); 21 for(int i=1;i<=n;++i){ 22 for(int j=0;j<i;++j){ 23 for(int k=0;k<i;++k){ 24 f[i][j][k]=f[i-1][j][k]; 25 if(a[i].t1>a[j].t2)f[i][i][k]=max(f[i][i][k],f[i-1][j][k]+a[i].w); 26 if(a[i].t1>a[k].t2)f[i][j][i]=max(f[i][j][i],f[i-1][j][k]+a[i].w); 27 ans=max(ans,max(f[i][i][k],f[i][j][i])); 28 } 29 } 30 } 31 printf("%d",ans); 32 }
标签:std return 个数 ++ algo int 之间 car print
原文地址:https://www.cnblogs.com/gzh01/p/9379703.html