满江红求调

P2066 机器分配

不理解您的` a[i][j]=x-j;` 我把这个改成了`a[i][j]=x;`,之后$ j $从0开始循环。 ``` if(f[i][j]<f[i-1][k]+a[i][j]) ``` 改为 ``` if(f[i][j]<=f[i-1][k]+a[i][j]) ```
by bzzltl @ 2023-01-31 09:10:13


@[j1368](/user/542799) .
by bzzltl @ 2023-01-31 09:10:25


@[j1368](/user/542799) 奥,我解释的不清楚,错误其实就这些,具体看代码吧 ``` #include<bits/stdc++.h> using namespace std; int a[20][20],f[20][20],ans[20][20][20]; int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ int x; cin>>x; a[i][j]=x; } for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) for(int k=0;k<=j;k++) if(f[i][j]<=f[i-1][j-k]+a[i][k]) { f[i][j]=f[i-1][j-k]+a[i][k]; for(int w=1;w<=i-1;w++)ans[i][j][w]=ans[i-1][j-k][w]; ans[i][j][i]=k; } cout<<f[n][m]<<endl; for(int i=1;i<=n;i++)cout<<i<<" "<<ans[n][m][i]<<endl; } ```
by bzzltl @ 2023-01-31 09:29:23


@[bzzltl](/user/699852) 谢谢大佬,90分了
by j1368 @ 2023-01-31 09:29:35


@[bzzltl](/user/699852) AC了,感谢
by j1368 @ 2023-01-31 09:30:49


|