本文共 410 字,大约阅读时间需要 1 分钟。
卖票问题,可以一张一张卖,也可以卖一对,给出分别的时间,问怎样卖的最快
for(int i=1; i<=n; i++) { cin >> a[i];//单个人卖的时间 } for(int i=1; i> b[i];两张一起卖的时间 } d[0]=0; d[1]=a[1]; for(int i=2; i<=n; i++) { d[i]=min(d[i-1]+a[i],d[i-2]+b[i-1]); //d[i-1]+a[i]是单张卖的时间加上之前的时间 //d[i-2]+b[i-1]是这次和上次加在一起卖对票的时间,再加上之前的时间 }
用一维数组记录每次的时间最少值
转载地址:http://qvwzz.baihongyu.com/