社区讨论
关于输出方案的疑问
P2066机器分配参与者 5已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 12 条
- 当前快照
- 1 份
- 快照标识符
- @mi6hb520
- 此快照首次捕获于
- 2025/11/20 04:52 4 个月前
- 此快照最后确认于
- 2025/11/20 05:09 4 个月前
有可能 f[n][m]=value[n][i]+f[n-1][m-i]=value[n][j]+f[n-1][m-j] 这种情况是成立的,
CPPvoid show(int i,int j)
{
int k;
if (i==0) return;
for (k=0;k<=j;k++)
if (max1==value[i][j-k]+f[i-1][k])
{
max1=f[i-1][k];
show(i-1,k);
cout<<i<<' '<<j-k<<endl;
break;
}
}///这是书上的做法100分
if (max1==value[i][k]+f[i-1][j-k])
{
max1=f[i-1][j-k];
show(i-1,j-k);
cout<<i<<' '<<k<<endl;
break;
}//然而我自己做的时候,只是把枚举的方式改一下,却只有90.
难道这样枚举会有漏洞????求路过的神犇帮助蒟蒻看下!
我是这么想的,方案有可能不只一种
回复
共 12 条回复,欢迎继续交流。
正在加载回复...