第一百九十二章 道路游戏(第2页)
因为最多同时存在1个机器人
第i秒时第j个机器人走k次(1≈lt;=k≈lt;=p)
f[i]=ax(f[i],f[i-k]-pay[st]su)
这里是从当前点倒推
st是上一个点
当st=0,st=n
su要一遍遍加上钱k秒第st路上的金币数
每次减去第st条道路(即第st个工厂机器人)的价格
如果i-k≈lt;0
直接退出k循环,时间不为负
cde≈lt;iostrea≈gt;
cde≈lt;cstdio≈gt;
cde≈lt;cstrg≈gt;
gnaspacestd;
tn,,p,b[1001],a[1001][1001],f[1001];
ta()
{
scanf(“ddd“,≈ap;n,≈ap;,≈ap;p);
set(f,-1000000,sizeof(f));f[0]=0;
for(ti=1;i≈lt;=n;i)for(tj=1;j≈lt;=;j)scanf(“d“,≈ap;a[i][j]);
for(ti=1;i≈lt;=n;i)scanf(“d“,≈ap;b[i]);
for(ti=1;i≈lt;=;i)
for(tj=1;j≈lt;=n;j)
{
tt=j-1;
if(!t)t=n;
tss=a[t][i];
for(tk=1;k≈lt;=p;k)
{
if(i-k≈lt;0)break;
f[i]=ax(f[i],f[i-k]ss-b[t]);
t--;
if(!t)t=n;
ss=a[t][i-k];
}
}
prtf(“d“,f[]);
本章未完,点击下一页继续阅读